C++11 的 std::shared_ptr<> 提供了一种布尔运算符。
operator unspecified-bool-type() const;
operator bool() const
(由于隐式转换类型的危险,这不是直接的bool
。)
为什么 std::weak_ptr<> 没有类似的运算符?我发现自己不断打字
if( !wp.expired() )
当我想打字时
if( wp )
为什么weak_ptr 没有bool 转换?
C++11 的 std::shared_ptr<> 提供了一种布尔运算符。
operator unspecified-bool-type() const;
operator bool() const
(由于隐式转换类型的危险,这不是直接的bool
。)
为什么 std::weak_ptr<> 没有类似的运算符?我发现自己不断打字
if( !wp.expired() )
当我想打字时
if( wp )
为什么weak_ptr 没有bool 转换?