__nat class in clang standard libarry
问题 I was looking through clang's c++ standard library, and found this class in the shared_ptr class. class shared_ptr ... private: struct __nat {int __for_bool_;}; ... }; and I understand that this class is used to detect whether type conversion is possible at compile time, but its member __for_bool_ is never used anywhere in the class or the weak_ptr counterpart. So my question is, what is the point of __for_bool_ ? Why not simply use an empty class for the same purpose? I'm sure the standard