|
45 / 45 / 1
Регистрация: 23.05.2009
Сообщений: 92
|
|
Внутреннее представление конструтора и деструктора03.08.2009, 07:07. Показов 1844. Ответов 15
Метки нет (Все метки)
Я знаю, что конструктор и деструктор в явном виде ничего не возвращает.
Однако на уровне ассемблерных команд он восстанавливает содержимое вершины стека(в регистр, ячейку памяти или сегментый регистр). Какой тип в теории может возвращать конструктор и деструктор?
0
|
|
| 03.08.2009, 07:07 | |
|
Ответы с готовыми решениями:
15
Перевод десятичного числа во внутреннее представление
|
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
||
| 03.08.2009, 08:00 | ||
|
в вершине стека всего лишь значения "по-умолчанию". и, насколько я знаю, ничего конструктор не возвращает, даже на внутреннем уровне.
0
|
||
|
45 / 45 / 1
Регистрация: 23.05.2009
Сообщений: 92
|
|
| 03.08.2009, 08:53 [ТС] | |
|
0
|
|
|
125 / 123 / 0
Регистрация: 30.03.2009
Сообщений: 766
|
||||||
| 03.08.2009, 10:13 | ||||||
|
можно считать, что он возвращает ссылку на созданный объект. хорошо это видно, например, на таком примере
0
|
||||||
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
| 03.08.2009, 10:17 | |
|
Неверно. Здесь возвращает значение operator new, а вовсе не конструктор.
1
|
|
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
| 03.08.2009, 10:30 | |
|
2CheshireCat: Оператор new и конструктор тесно связаны. Оператор new выделяет память, а конструктор заполняет выделенную память.
0
|
|
|
|
|||||||
| 03.08.2009, 10:40 | |||||||
|
достаточно посмотреть простой пример (в какой последовательности и что будет создаваться):
0
|
|||||||
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|||||||
| 03.08.2009, 10:44 | |||||||
Добавлено через 57 секунд
А это как раз и значит, что память была выделена оператом new или компилятором.
0
|
|||||||
|
|
|||
| 03.08.2009, 10:49 | |||
|
Добавлено через 57 секунд поставь в моем примере брейкпоинты и пройди по шагам, и сразу поймешь в какой последовательности что вызывается.
0
|
|||
|
MCSD: APP BUILDER
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
|
|
| 03.08.2009, 10:52 | |
|
odip,
Оператор new и конструктор тесно связаны. struct Foo {}; Foo* foo = (Foo*) ::operator new (sizeof(Foo)); обозначь здесь связь, а то что-то не могу найти ... а конструктор заполняет выделенную память. Чем именно? То есть конструктор можно использовать как замену memset?
1
|
|
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
||||||||||||
| 03.08.2009, 12:11 | ||||||||||||
|
*** Рассмотрим на простом примере что происходит:
1) Выражение вызывает библиотечную функцию operator new(), резервирующую нетипизированную область памяти, достаточно большую, чтобы содержать объект указанного типа. 2) Чтобы создать объект на основании переданного инициализирующего значения, запускается конструктор соответствующего класса 3) Возвращается указатель на вновь созданный объект. И для симметрии рассмотрим, что делает оператор delete
2) Используемая объектом память освобождается при помощи библиотечной функции operator delete()
1
|
||||||||||||
|
MCSD: APP BUILDER
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
|
|
| 03.08.2009, 12:15 | |
|
zim22,
Rififi, odip имел ввиду оператор new, а не функцию operator new Собстна, это я и желал выяснить (Ж
0
|
|
|
|
|
| 03.08.2009, 13:27 | |
|
2 zim22
если для объекта перегружен оператор, то он будет работать так как реализовано в перегрузке, иначе создается объект а потом вызывается конструктор (нет смысла вызывать конструктор (или любой другой нестатический метод), если this невалидный).
0
|
|
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
||
| 03.08.2009, 13:30 | ||
|
0
|
||
|
|
||
| 03.08.2009, 13:46 | ||
|
string::operator new(...) то вызовется он с заложенной в нем логикой выделения и распределения памяти и вызовется конструктор там где он вызывается в теле string::operator new(...) если нет, тогда выделится память под объект а потом вызовется конструктор
0
|
||
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
|
| 03.08.2009, 14:17 | |
|
0
|
|
| 03.08.2009, 14:17 | |
|
Помогаю со студенческими работами здесь
16
Неправильно отображает внутреннее представление типа double Внутреннее (машинное) представление данных двух типов Работа с разными типами данных и внутреннее представление чисел Перевод даты из символьного формата во внутреннее представление и обратно Программа показывающая внутреннее двоичное представление типа данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|