在STL引用中给出了字符串类在字符串头中,然后不包括头如何运行以下程序而没有错误?
#include<iostream>
using namespace std;
int main() {
string s;
cin>>s;
cout<<"string entered is : "<<s;
}
我在ubuntu机器上使用g ++编译器。
答案 0 :(得分:7)
也许是因为iostream
本身在编译器的库实现中包含string
。但是在其他库实现中并非如此,例如微软的VC ++不允许这样做。
你不应该依赖那种隐式包含,因为它从编译器到编译器,甚至从版本到版本各不相同(我目前正在尝试在Visual Studio 2010中构建一些旧的std :: c ++代码,并且至少有一个额外的包括我必须投入。)
答案 1 :(得分:0)
这是因为iostream
已经包含string
。