Tag: std bitset

为什么libc ++的vector <bool> :: const_reference不是bool?

第23.3.7节类vector<bool> [vector.bool]第1段规定: template <class Allocator> class vector<bool, Allocator> { public: // types: typedef bool const_reference; … 但是,使用libc ++时,该程序无法编译: #include <vector> #include <type_traits> int main() { static_assert(std::is_same<std::vector<bool>::const_reference, bool>{}, "?"); } 此外,我注意到C ++标准在本规范中始终与C ++ 98保持一致。 而且我还注意到自libc ++第一次引入以来,libc ++始终没有遵循这个规范。 这种不合格的动机是什么?