clang 标准库中的 __nat 类

hoh*_*hmm 8 c++ std clang shared-ptr

我在翻看clang的C++标准库,在shared_ptr类中发现了这个类。

class shared_ptr
// ...
private:
    struct __nat {int __for_bool_;};
// ...
};
Run Code Online (Sandbox Code Playgroud)

据我所知,此类用于在编译时检测是否可以进行类型转换,但其成员__for_bool_从未在类或weak_ptr对应类的任何地方使用。所以,我的问题是,有什么意义__for_bool_?为什么不简单地使用一个空类来达到同样的目的呢?

我确信标准库的作者肯定比我更了解。