在C++中,为什么我们需要使用#include <string>
标准库来使用std::string
数据类型,但是对于int
或float
数据类型却不需要类似的东西?
最佳答案
C++是语言和库。该语言起源于C语言,其中int
和float
是基本类型,因此这些类型是语言的基础。
C++的范例是应该在库中实现所有可以在库中实现的东西。这意味着该语言涵盖了class
,template
等的语法,而std::string
的实际实现是使用这些基本语言块构建的。
要使用该库,您需要包括适当的头。
其实您的问题是不正确的。出于历史原因,请确保int
和float
不需要任何 header 。但是在 header 中定义了一些类型,例如int32_t
,intptr_t
,uint8_t
等。
顺便说一句,第一个STL于1998年实现标准化:多年来,C++对于诸如容器,字符串管理等实用程序没有通用标准。这就是存在多个第三方库的原因:每个编译器供应商都必须提供具有基本语言的合理库。
关于c++ - 为什么我们需要对字符串使用标准库,而不对int数据类型使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60895962/