__nat class in clang standard libarry

2019-05-21 04:08发布

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 library authors definitely knows better than me.

0条回答
登录 后发表回答