【发布时间】:2016-11-24 11:31:58
【问题描述】:
如果我有类似的课程
class sample{
// ...
} obj;
上面创建的对象obj的范围是什么?对象什么时候销毁?
【问题讨论】:
-
那么会在堆中创建对象吗?
-
它将具有声明的任何范围,如果是全局范围,将静态创建,如果是方法范围,将创建方法本地。它永远不会在堆上创建。超出范围时将被销毁。
-
@iammilind 可能是重复的,但不是那个问题。
-
@EJP,是的,你是对的。在this question 中,不幸的是它没有讨论
class对象。我能找到的另一个是c++ global object 和Global variables and scope - C++。我正在重新打开Q,看看你能不能关闭它。 -
@iammilind 毫无疑问,全球范围是可以接受的重复。问题是关于什么是范围,这取决于上下文。