C++ 分配对象

c++ allocating objects?

本文关键字:对象 分配 C++      更新时间:2023-10-16

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

如果我听到堆这个词,它的意思是运行时可以吗?

第二个问题

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

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

使用 new 创建的对象不会销毁,直到有人调用 delete 才能销毁它们

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