在助推器中是否有安全的bool成语助手?

时间:2011-07-30 14:52:51

标签: c++ boost safe-bool-idiom

通过检查所需的代码是否已经存在,25%的程序员工作时间。

我正在寻找实现安全bool习语的基类。

2 个答案:

答案 0 :(得分:11)

Boost.Operators中的{p> bool_testable<>看起来很有希望。

该参考文献提到:

  

bool_testable提供了对立面   operator bool,表达式if (!p)有效,同时也是如此   通过防止意外转换使operator bool更安全   整数类型。 ...... bool_testable<>可以防止这些意外   通过将私有转换运算符声明为signed char来进行转换,   并没有定义身体。

答案 1 :(得分:-1)

最安全的做法是隐式转换为bool

明确转换。

如果选好的话,这个名字也可以帮助人们了解它的全部内容。

干杯&amp;第h。,