gpt4 book ai didi

c++ - 从成员变量指针返回 bool

转载 作者:行者123 更新时间:2023-11-30 02:42:31 24 4
gpt4 key购买 nike

所以我正在使用看起来像这样的代码:

class SomeClass : public SomeBaseClass {
SomePointerToClass * p;
public:
SomeClass(SomePointerToClass* p = NULL) : p(p) {};
void start(SomePointerToClass* sp) {
p = sp;
}
bool hasStarted() {
return p;
}
}

我简化了一些东西以便制作一个简短的代码示例,但我认为从成员变量指针返回一个 bool 有点代码味道。我应该更改它还是某种形式的 C++ 约定?

最佳答案

hasStarted()很好:在 C++ 中,指针将自动转换为 bool在零/非零基础上。

有些人喜欢写return (p != nullptr)return static_cast<bool>(p)相反,为了真正明确地说明意图,但在这种情况下我对此并不十分挑剔。

但是,该行为是在 C 中实现定义的,因此不要在那里依赖它!

关于c++ - 从成员变量指针返回 bool,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27021873/

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