【发布时间】:2012-02-21 18:45:06
【问题描述】:
我正在考虑用 explicit operator bool 在已经使用 C++11 功能的代码中替换所有安全布尔成语的实例(因此旧编译器不识别显式转换运算符的事实无关紧要),所以我想知道它是否会导致一些微妙的问题。
因此,所有从旧的和沉闷的安全布尔成语切换到新的和闪亮的explicit operator bool 可能导致的可能不兼容(即使是最细微的不兼容)是什么?
编辑:无论如何,我知道切换是一个好主意,因为后者是一种语言功能,编译器很好理解,所以它不会比实际上只是一个 hack 更糟糕。我只是想知道可能的差异。
【问题讨论】:
标签: c++ c++11 language-lawyer safe-bool-idiom