前端之家收集整理的这篇文章主要介绍了
c – 为什么没人似乎写`delete&someObj`?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
好吧,这可能看起来很荒谬,但我经常看到使用引用
删除动态分配的内存的
代码如下所示:
Obj* ptr = &someObj;
delete ptr;
而不是看似合乎逻辑的选择:
delete &someObj;
这背后有什么特别的安全理由,还是只是一种风格的东西?
没有额外的安全性.这是编写引用
代码的人的风格选择.
PS.通过引用删除动态分配的内存是非常罕见的(或者应该).将动态对象的地址存储在指针中是一种非常常见的约定.目前,根本不需要手动删除任何内存,因为该任务通常被委托给智能指针.
原文链接:https://www.f2er.com/c/118544.html