c++ - 当 std::string 足以在 C++ 中初始化字符串时,为什么我们需要包含 <string> 头文件?

标签 c++ c++11

<分区>

#include <iostream>

int main() {

    std::string a="hello";
    std::cout<< a;
}

上面的代码打印出“hello”。那么,为什么人们坚持要包括 <string>头文件?

最佳答案

如果没有 <string>,我们无法保证您的代码可以正常工作。 .那就是标题 std::string在中定义,因此如果您希望代码可移植,则必须包含它。

您的代码可能有效或看起来有效,因为 <iostream>直接或间接包括<string> .

关于c++ - 当 std::string 足以在 C++ 中初始化字符串时,为什么我们需要包含 <string> 头文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34383007/

相关文章:

c++ - 为什么单例实例必须在下面的代码中初始化

c++ - 返回引用

c++ - 如何在不进行类型转换和使用多态性的情况下使用基类指针调用派生类非虚成员函数?

c++ - 私有(private)继承和 ADL 交换

c++ - 试图了解 C 预处理器

c++ - 什么是流畅的界面?

c++ - 有谁知道在 Linux 的终端窗口中显示图形的技术名称是什么?

ns2 中的 C++ undefined reference

c++ - 调用函数并传递存储在元组中的参数?

C++11 for_each 和 lambdas 优化