-4
Q
C++销毁对象
A
回答
2
new A()
返回一个指向对象而不是对象的指针。
4
正确的代码是:
A *a = new A();
,你就必须自己销毁它:
delete a;
你会通常只有创建新的对象(在堆上), 如果你想让它的寿命比现在的范围更长。 如果你想有离开的范围时销毁对象, 你只需将它分配在堆栈上:
{ A a;
}
请让自己熟悉的情况下,智能指针,你必须分配在你的对象堆 - 无需继承上个世纪的C编程哲学!
相关问题
- 1. 销毁对象
- 2. 对象销毁
- 3. 销毁C中的非托管对象#
- 4. 在C#中销毁结构对象?
- 5. 如何销毁C#中的COM对象?
- 6. 如何销毁PDFJS对象?
- 7. 在X ++中销毁对象
- 8. 如何销毁java对象?
- 9. RSpec与Factory_girl - 销毁对象
- 10. Python:全局对象销毁
- 11. 销毁Oracle PLSQL对象
- 12. 何时销毁对象?
- 13. 销毁对象的::地图
- 14. 销毁对象的错误
- 15. 销毁主类对象
- 16. 销毁停用对象
- 17. 销毁Ember.js中的对象
- 18. 销毁成员对象
- 19. Unity2d - 销毁对象使用销毁(gameObject)//它会销毁与脚本连接的对象
- 20. C#通过Excel过程销毁多个Excel对象的正确方法销毁
- 21. 摧毁主要对象时销毁嵌入对象
- 22. 书写方法销毁并创建链接销毁对象
- 23. 父母被销毁时如何销毁子对象?
- 24. 销毁对象指针数组
- 25. 使用javascript销毁闪存对象
- 26. 统一对象已被销毁
- 27. 试图访问被销毁对象
- 28. 如何销毁PhoneStateListener类的对象?
- 29. Boost shared_ptr不会立即销毁对象
- 30. 重置/销毁对象实例
您还需要销毁该对象:'删除A'或mem漏洞 – yizzlez
您是否尝试编译上述代码? – tinkertime
不,你不需要担心这里的内存泄漏,因为这是不可能的。代码不会编译。 (除非你虐待'A'构造函数,它需要一个'A *'并且它不释放它) – Cornstalks