Dav*_*eas 20
您想要使用的内置定义是什么?它是内置的编译器工具集,你必须是的,它应该.它是由编译器专门处理的吗?不,编译器将该类型视为任何用户定义的类型.需要注意的是同样的大概可以应用于许多其他语言,大多数人会回答是的.
C++委员会的一个重点是将核心语言保持在最低限度,并在库中提供尽可能多的功能.这有两个意图:核心语言更稳定,库可以重新实现,增强...而无需更改编译器核心.但更重要的是,您不需要特殊的编译器支持来处理大多数标准库,这一事实可确保核心语言在大多数情况下具有足够的表现力.
Simpler以否定的形式表示:如果语言需要特殊的编译器支持来实现std::string,那意味着用户没有足够的能力来表达核心语言中的那个或类似的概念.
这不是一个原始的-也就是说,它没有"内置"的方式int,char等都是.最近的内置字符串样类型是char *或char[],这是做拉丝东西的旧的C方式,但即使这需要一堆库中的代码,以高效使用.
相反,它std::string是标准库的一部分,几乎每个现代C++编译器都存在.您需要#include <string>(或包含其他包含它的内容,但实际上您应该包含代码所指的内容)才能使用它.