在c ++中,如果我通过堆创建对象,则意味着它是在运行时创建的。 如果我创建了不使用new关键字的对象,则会在编译时创建它。
如果我听到单词堆这意味着运行时是否可以?
第二个问题
在java中如果对对象的引用引用不同的对象,那么它首先引用的对象将被垃圾收集器自动销毁,因为没有人引用它。 在c ++中也是如此,如果你沿着堆创建一个对象,然后创建一个指向它的指针,然后分配一个指向该对象的指针。 如果该指针指向另一个对象,那么堆中的对象会发生什么情况,这个对象是否会被自动执行析构函数破坏?
答案 0 :(得分:1)
在运行时在堆栈上创建本地对象,不涉及使用新的
使用new创建的对象在有人调用delete之前不会被销毁
在程序启动时创建静态对象。