【发布时间】:2012-05-04 05:02:24
【问题描述】:
C++11 的 std::shared_ptr 提供了一种布尔运算符。
operator unspecified-bool-type() const;
(由于dangers from implicit casting 类型为bool,这不是直接的operator bool() const。)
为什么 std::weak_ptr 没有类似的运算符?我发现自己经常打字
if( !wp.expired() )
当我想输入时
if( wp )
为什么weak_ptr没有bool转换?
【问题讨论】:
-
因为功能默认没有实现?
-
operator bool现在可以在 C++11 中安全地直接完成:stackoverflow.com/a/6242355/46642
标签: c++ c++11 shared-ptr weak-ptr