Создание объекта в стеке/куче?

Следующий код создает объект в стеке:

Object o;

При создании объекта в куче мы можем использовать :

Object* o;

o = new Object();

, а не:

Object* o = new Object();

Когда мы разделяем объект кучи -создание над две строки и вызвать конструктор во второй строке (o = new object()), значит ли это, что в первой строке(Object* o)указатель был создан в стеке? Итак, Object oпомещает объект в стек, тогда как Object* oпомещает в стек указатель на будущий объект?

Мой второй вопрос касается того, вызывались ли две строки кода вне класса. Недавно я прочитал(Глобальное управление памятью в C в стеке или куче?)что глобальные переменные содержатся не в стеке/куче, а в другой части памяти? Если это так, будет ли Object* oсоздавать указатель, который будет находиться в этой другой части памяти и указывать на объект кучи?

49
задан Community 23 May 2017 в 00:31
поделиться