我的印象是,std库对于C++编译器来说并不是特别的,只是因为每个供应商都提供了它的实现,否则它只是用C++编写的代码,可以在C++中使用,就像任何其他用C++编写的代码一样。
我看到一些地方似乎不同意这一点,比如用户定义的文字后缀必须以下划线开头,因为“不以下划线开头的后缀是为标准库提供的文字操作符保留的”。https://en.cppreference.com/w/cpp/language/user_literal
该规范对std库的规则真的与编译其他C++代码的规则不同吗?C++编译器是否硬编码以识别标准库中的代码并“做一些不同的事情”?
这真的打乱了我对整个系统如何协同工作的内在印象……
发布于 2020-05-28 04:55:32
尽管有一些例外,但这个库在很大程度上就像你描述的那样。
你提到的 be a defect字面量的问题。然而,即使是这样,实现中的名称冲突在实践中也是完全可以避免的,因为它是由一组人编写的。
此外,some standard library features actually cannot be implemented without compiler support。
因此,这是一个有点复杂的包。
https://stackoverflow.com/questions/62052639
复制相似问题