相关疑难解决方法(0)

什么时候应该明确使用`this`指针?

我什么时候应该明确地写this->member一个类的方法?

c++ this

88
推荐指数
8
解决办法
3万
查看次数

是"delete p; p = NULL(nullptr);" 反模式?

搜索SO上的内容,我偶然发现了这个问题,其中一条评论得到了最多投票的回答(对最多投票答案的第五条评论)表明这delete p; p = NULL;是一个反模式.我必须承认,我碰巧经常使用它,有时候大部分时间都用它来检查if (NULL != p).Man自己似乎在暗示它(请参阅destroy()函数示例),所以我真的很困惑为什么它可能是一个可怕的事情被认为是反模式.我使用它的原因如下:

  • 当我发布一个资源时,我也想让它无效以便进一步使用,而NULL是指示指针无效的正确工具
  • 我不想留下悬垂的指针
  • 我想避免双重\多个免费错误 - 删除一个NULL指针就像一个nop但删除一个悬空指针就像"射击你自己的脚"

请注意,我不是在"this"指针的上下文中提出这个问题,让我们假设我们不是生活在一个完美的C++世界中,并且遗留代码确实存在并且必须进行维护,所以请不要建议任何一种智能指针:).

c++

15
推荐指数
2
解决办法
1708
查看次数

标签 统计

c++ ×2

this ×1