Выделение памяти в конструкторе
Добавлено: 30 июн 2005, 23:15
Здравствуйте!
Недавно на одном из тестирований по С++ мне попался вопрос:
"Верно ли, что память под объект всегда выделяется в конструкторе?"
Интересно, что они имели в виду?
Насколько я понимаю, в кострукторе память, строго говоря,
ИНИЦИАЛИЗИРУЕТСЯ, а не ВЫДЕЛЯЕТСЯ.
Правильно ли я понимаю, что в следующем примере:
A *a = new A;
память под объект типа A выделится еще до вызова конструктора,
а не внутри конструктора?
Кроме того, стандартная реализация new, кажется, выделяет
дополнительную память для хранения размера объекта,
а конструктор этого не делает.
Можно ли рассматривать эту память
как "память, выделенную под объект"?
Заранее спасибо.
Недавно на одном из тестирований по С++ мне попался вопрос:
"Верно ли, что память под объект всегда выделяется в конструкторе?"
Интересно, что они имели в виду?
Насколько я понимаю, в кострукторе память, строго говоря,
ИНИЦИАЛИЗИРУЕТСЯ, а не ВЫДЕЛЯЕТСЯ.
Правильно ли я понимаю, что в следующем примере:
A *a = new A;
память под объект типа A выделится еще до вызова конструктора,
а не внутри конструктора?
Кроме того, стандартная реализация new, кажется, выделяет
дополнительную память для хранения размера объекта,
а конструктор этого не делает.
Можно ли рассматривать эту память
как "память, выделенную под объект"?
Заранее спасибо.