ファイルboost/smart_ptr/detail/operator_bool.hpp
をフォローしていると、理解できない次のコード スニペットに出くわしました。
typedef T * this_type::*unspecified_bool_type;
operator unspecified_bool_type() const // never throws
{
return px == 0? 0: &this_type::px;
}
XCode でいくつかのテスト コードを書き、&this_type::px
常に 1 を返します。なぜですか?
C++ の第一人者があなたの考えを共有できますか?