Форум программистов, компьютерный форум CyberForum.ru

Не могу понять где объект в куче или в стеке ! - C++

Восстановить пароль Регистрация
 
vbloodv
 Аватар для vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
03.02.2014, 03:06     Не могу понять где объект в куче или в стеке ! #1
Сразу к примеру:
C++
1
2
3
4
5
6
7
8
9
10
11
class Zombie;
{
    Soldat soldat; // что солдат внутри зомби делает не спрашивайте
    String  name;
    int       ammo;
};
 
int main()
{
    Zombie * zombie = new Zombie(); // память под солдата внутри зомби выделилась в куче или стеке?
}
Если в стеке, то похоже нужно переделать поле класса в:
C++
1
Soldat * soldat; // или std::shared_ptr<Soldat> soldat;
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2014, 03:06     Не могу понять где объект в куче или в стеке !
Посмотрите здесь:

C++ Не могу понять где прокол
C++ Не могу понять где ошибка ?
C++ Расположение данных в стеке и в куче
C++ Не могу понять где ошибка!
C++ Не могу понять где ошибка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
03.02.2014, 03:20     Не могу понять где объект в куче или в стеке ! #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
В куче твой солдат.
Эта штука
C++
1
Zombie * zombie = new Zombie();
выделила в куче память под все данные Зомби, включая Солдатские данные, name, ammo.
В стек попал только указатель на Зомби (4 байта, скорее всего)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.02.2014, 03:22     Не могу понять где объект в куче или в стеке ! #3
Цитата Сообщение от vbloodv Посмотреть сообщение
память под солдата внутри зомби выделилась в куче или стеке?
В куче.
Croessmah
03.02.2014, 08:36
  #4

Не по теме:

Цитата Сообщение от vbloodv Посмотреть сообщение
// что солдат внутри зомби делает не спрашивайте
больше интересует имя

dzrkot
03.02.2014, 11:09
  #5

Не по теме:

Цитата Сообщение от vbloodv Посмотреть сообщение
Soldat soldat; // что солдат внутри зомби делает не спрашивайте
скушали его, этож очевидно

vbloodv
03.02.2014, 13:44  [ТС]     Не могу понять где объект в куче или в стеке !
  #6

Не по теме:

Спасибо парни, скушали и имя

Yandex
Объявления
03.02.2014, 13:44     Не могу понять где объект в куче или в стеке !
Ответ Создать тему
Опции темы

Текущее время: 07:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru