std::string 与 #include<string>

#include "stdafx.h"

#include <iostream>

#include <string>

using std::cout;

using std::endl;

using std::cin;

using std::string;

int main(void)

{

    char chars1[20];

    char chars2[20] = "jaguar";

    string str1;

    string str2 = "pather";

    cout << "Enter a kind of feline: " << endl;

    cin >> chars1;

    cout << "Enter another kind of feline: " << endl;

    cin >> str1;

    cin.get();

    return 0;

}

上面的程序如果没有#include<string>,则cin>>str1将会报错,而string str1不会报错

也就是说在没有#include<string>的情况下,是可以定义std::string变量的,只是不能使用cin进行输入。

 

到底在没有头文件<string>的时候,std::string 是个什么东东,怎么理解?


墨色风雨
浏览 818回答 1
1回答

慕码人8056858

那是因为对 string 的 >> 运算符重载是在 string 头文件中定义的;所以没有 string 头文件,就不能使用 >> 对 string 类型变量操作了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java