gpt4 book ai didi

c++ - 为什么似乎从来没有人写过 `delete &someObj` ?

转载 作者:可可西里 更新时间:2023-11-01 18:37:32 27 4
gpt4 key购买 nike

好吧,这可能看起来很荒谬,但我经常看到使用引用删除动态分配内存的代码如下所示:

Obj* ptr = &someObj;
delete ptr;

而不是看起来合乎逻辑的选择:

delete &someObj;

这背后是否有任何特殊的安全原因,或者它只是一种风格?

最佳答案

没有额外的安全性。这是编写引用代码的人的风格选择。

附言。通过引用删除动态分配的内存是(或者应该是)极其罕见的。将动态对象的地址存储在指针中是一种非常常见的约定。如今,手动删除任何内存应该很少见了,因为该任务通常委托(delegate)给智能指针。

关于c++ - 为什么似乎从来没有人写过 `delete &someObj` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42133782/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com