1 / 1 / 1
Регистрация: 19.07.2009
Сообщений: 53
|
||||||
1 | ||||||
Какова последовательность действий, выполняемых конструктором ?05.12.2017, 13:46. Показов 686. Ответов 1
Метки нет (Все метки)
Конструктор: (1) ищем блок памяти куда проинициализировать объект, на случай если он пустой. (поэтому пустой класс размера не ноль) (2) считает размер всех полей (3) смотрит, есть ли виртуальные функции, если есть, то инициализирует указатель на таблицу виртуальных функций (3.5) - (???) где-то тут вызовутся конструкторы предков (4) смотрит, есть ли виртуальные предки, под них выделяет и инициализирует указатели. (4.5) - (???) где-то тут вызовутся конструкторы предков (5) и в самом конце то, что он посчитал на этапе (2) под это наконец выделяется память на стеке / или в куче (Плюс прежде чем выделить память под объект - выполнил выравнивание (дефолтное или нами заданное через #pragma pack(push,1) struct Foo { }; #pragma pack(pop) (6) вышли из конструктора. ОБЪЕКТ СОЗДАН. Помогите пожалуйста разобраться в вопросе, и источники, где об этом можно почитать.
0
|
05.12.2017, 13:46 | |
Ответы с готовыми решениями:
1
Как оформить алгоритм (последовательность) выполняемых действий на Activity? Какова последовательность действий после установки оригинальной Windows 7? Какова последовательность действий при внесении изменений в XLA файлы? В чем разница между конструктором по умолчанию и конструктором с параметрами? |
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
05.12.2017, 17:34 | 2 |
Половина из того, что ты написал, лежит ниже уровня C++.
Память выделяется сразу без подсчётов. Компилятор знает, сколько какому объекту нужно.
0
|
05.12.2017, 17:34 | |
05.12.2017, 17:34 | |
Помогаю со студенческими работами здесь
2
Последовательность действий последовательность действий Последовательность действий Последовательность действий Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |