-1

在 C++ 中,如果我通过堆创建对象,则意味着它是在运行时创建的。如果我创建的对象不是使用 new 关键字,它是在编译时创建的。

如果我听到堆这个词意味着运行时可以吗?

第二个问题

在java中,如果一个对象的引用引用了一个不同的对象,那么它首先引用的对象将被垃圾收集器自动销毁,因为没有人引用它。在 c++ 中也会发生同样的事情,就像你沿着堆创建一个对象,然后创建一个指向它的指针,然后分配一个指向该对象的指针。如果该指针指向不同的对象,堆中的对象会发生什么情况,该对象将通过自动执行析构函数来销毁?

4

1 回答 1

1

本地对象在运行时在栈上创建,不涉及使用new

使用 new 创建的对象在有人调用 delete 之前不会被销毁

静态对象是在程序启动时创建的。

于 2012-04-21T21:12:31.923 回答