【发布时间】:2012-07-31 16:01:26
【问题描述】:
boost 库是否提供了安全 bool 习惯用法的实现,以便我可以从中派生出我的类?
如果是 - 它在哪里?
如果不是 - 除了自己实施之外,我还有哪些选择?
我发现了以下类似的问题:“Is there a safe bool idiom helper in boost?”并且接受的答案建议在Boost.Operators 中使用bool_testable<>。
不幸的是,当我检查boost manual 时,我在那里找不到它。使用它的代码也无法编译。
我还偶然发现了另一个 SO 问题“Was boost::bool_testable<> relocated or removed?”,那里的评论表明 bool_testable 实际上从未对任何版本的 boost 进行过发布。
关于这个主题还有一个有趣的article by Bjorn Karlsson,其中包含一个可以复制粘贴到我的项目中的代码。不过,我希望有一个普遍接受和维护的实用程序库(例如 boost)已经实现了它。
出于兼容性原因,我不想依赖 C++11。
【问题讨论】:
-
您是否考虑过通过不隐式转换为
bool来解决问题? -
本文第 3 页有一个可重复使用的 Safe Bool 实现:artima.com/cppsource/safebool.html
-
谢谢。我没有提到它,但我确实看到了,我可能会复制粘贴该代码,但我希望一些普遍接受和维护的实用程序库(首先想到的是 Boost)已经这样做了。
-
您可能对“stackoverflow.com/questions/10490675/…”的更新感兴趣
标签: c++ boost safe-bool-idiom