我正在考虑用explicit operator bool
已经使用 C++11 功能的代码替换所有安全布尔成语的实例(所以旧编译器不识别显式转换运算符的事实并不重要),所以我想知道如果它会导致一些微妙的问题。
因此,从旧的和沉闷的安全 bool 成语切换到新的和闪亮的,可能导致的所有explicit operator bool
可能的不兼容(即使是最微小的不兼容)是什么?
编辑:无论如何,我知道切换是一个好主意,因为后者是一种语言功能,编译器很好理解,所以它的工作不会比实际上只是一个 hack 更糟糕。我只是想知道可能的差异。