Распределение памяти членов классаC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Распределение памяти членов класса

Сообщение Anonymous »

Мой вопрос в основном теоретический. Предположим, у нас есть класс < /p>

Код: Выделить всё

class A{
private:
int * a;
int b;
private:
A(){
a = new int[100];
b = 100;
}
~A(){
delete [] a;
}
}
< /code>

Насколько я знаю, если мы создаем объект динамически типа А (A * a = new A()
) память для этого объекта будет выделяться в куче и если я использую () Он будет создан в стеке (a a) . В случае, когда объект создается в памяти стека для переменной , будет выделен на кучу, и в случае, если мы выделяем объект на память кучи для объекта B , будет выделен на стеке. Первый вопрос для меня, чтобы быть уверенным: я прав?class A{
private:
int * a;
int * b;
private:
A(){
a = new int[100];
b = new int(100);
}
~A(){
delete [] a;
delete b;
}
}
< /code>

Когда я сказал эффективно, я имею в виду, что все данные о члене класса будут храниться рядом друг с другом в памяти в куче или стеке (на самом деле я не уверен, что это правильно, что они будут храниться рядом друг с другом). < /p>

Подробнее здесь: https://stackoverflow.com/questions/404 ... allocation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»