c++ - 为什么我们需要对字符串使用标准库,而不对int数据类型使用?

标签 c++

在C++中,为什么我们需要使用#include <string>标准库来使用std::string数据类型,但是对于intfloat数据类型却不需要类似的东西?

最佳答案

C++是语言。该语言起源于C语言,其中intfloat是基本类型,因此这些类型是语言的基础。

C++的范例是应该在库中实现所有可以在库中实现的东西。这意味着该语言涵盖了classtemplate等的语法,而std::string的实际实现是使用这些基本语言块构建的。

要使用该库,您需要包括适当的头。

其实您的问题是不正确的。出于历史原因,请确保intfloat不需要任何 header 。但是在 header 中定义了一些类型,例如int32_tintptr_tuint8_t等。

顺便说一句,第一个STL于1998年实现标准化:多年来,C++对于诸如容器,字符串管理等实用程序没有通用标准。这就是存在多个第三方库的原因:每个编译器供应商都必须提供具有基本语言的合理库。

关于c++ - 为什么我们需要对字符串使用标准库,而不对int数据类型使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60895962/

相关文章:

c++ - 乘法的顺序

c++ - 有没有办法通过 'int' 而不是 'greater/lesser than' 来定义 '=' ?

c++ - 为 i686-elf 交叉编译和链接 libstdc++(在 Ubuntu 16.04 上使用 g++)

c++ - 在这种情况下,我应该使用 lock_guard、scoped_lock 还是 unique_lock?

c++ - 返回最短的字符串

c++ - 使用构造函数更改 vector 类型?

c++ - 为什么 decltype 从内置类型的返回类型中删除 const?

c++ - 非类型模板参数可以是 "void*"类型吗?

c++ - C++ 中的段错误(Eigen 库)

c++ - 访问 lambda 外部捕获的变量