Fre*_*man 0 c++ java pointers object member-initialization
首先,我希望这不是一个公开的.我是一名java程序员,现在改为c ++.在java中你可以这样做
Object obj = new Object();
Run Code Online (Sandbox Code Playgroud)
根据我的理解,你可以在c ++中做同样的事情(看看java中的obj如何只保存在变量中作为参考),如下所示:
Object* obj = new Object();
Run Code Online (Sandbox Code Playgroud)
我的问题是:这个对象存活了多长时间?只要指针有效,它会活着吗?还有,这可能会成为一个对象的成员初始化吗?如果指针被保存为可变成员(直到你存储它的那个对象是破坏者),那么对象是否会存在?
Srry任何错别字.祝你有美好的一天!
该对象一直存在,直到有人调用delete指向它的指针.您不应该使用new,delete除非您在没有其他选项的情况下实现某些库功能,并且您真的知道自己在做什么.默认操作不应该是new直接使用,除非是初始化智能指针或插入到负责内存管理的某个类中.
这将是创建默认构造实例的C++方法Object:
Object obj; // calls the default constructor
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
998 次 |
| 最近记录: |