gpt4 book ai didi

c++ - 为什么通过 string.h 访问 C++ 字符串类有效?

转载 作者:搜寻专家 更新时间:2023-10-31 00:00:41 27 4
gpt4 key购买 nike

在下面的 C++ 程序中,我包含了 string.h 文件,我成功地在其中实例化了 C++ 字符串类并调用了它的一个成员函数:size()。

#include <iostream>
#include <string.h>
using namespace std;

int main( )
{
string s = "Hello";
cout << "String: " << s << endl;
cout << "Size of string: " << s.size() << endl;
cin.get();
return 0;
}

输出是:

String: Hello
Size of string: 5

我正在使用 Dev-C++ 4.9.9.2

我的问题:string.h文件不就是提供了操作C字符串的函数吗?它不包括 C++ 字符串类的定义,对吗?那么,我是如何在不使用 #include <string> 的情况下访问 C++ 字符串类的呢? ?我的理解是string.h文件是C字符串库文件,<string>包括 C++ 字符串库文件。这不对吗?

谢谢!

最佳答案

这是因为 std::string通过 <iostream> 中包含的文件之一定义 header 。流提供了对字符串输入和输出的支持,所以它们需要包含一个字符串头来定义相应的>>。和 <<操作。

关于c++ - 为什么通过 string.h 访问 C++ 字符串类有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12505403/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com