C++标准库是否与编译器绑定,或者可以提供不同的实现?
我很想知道这一点,主要是因为看起来typeid关键字之间的关系std::type_info阻碍了这一点.该typeid关键字依赖于存在的std::type_info,我会认为是在错误的方向上的依赖.我不知道自定义实现应该如何实现该type_info::name()方法.
我的问题是:
std::type_info小智 12
是的,有各种各样的'STL':
编辑:
由于这显然与C++标准库有关,因此也有一些替代方案:
Bo *_*son 11
库的大部分独立于编译器,如容器和算法.
其他部分非常依赖于特定的编译器,就像您所发现的那样 - type_info库在哪里记录编译器所做的事情而不是规定它.
其他类似的例子可能是bad_exception,std :: size_t和C++ 11等特性,如type_traits,atomics和std :: initializer_list,它们都需要编译器的支持.库必须与特定编译器实际执行的操作紧密匹配.
可以编写一个可以与多个编译器一起工作的库,但不能在没有为每个特定编译器调整一些低级代码的情况下编写.其他地方提到的图书馆确实如此.