string在VC++2008和DEV C++中的区别?

来源:百度知道 编辑:UC知道 时间:2024/06/12 02:53:23
一段很简单的代码,是钱能书中的一道习题,我自己模仿书上的例题写出来,在VC++2008中失败了,要加#include<string>才行,但是放到DEV C++中就可以通过,这是怎么回事?
#include<iostream>
using namespace std;

int main()
{
int i,j;
for(i=1;i<=10;i++)
{
cout<<string(10-i,' ')+string(2*i-1,'%')<<endl;
}
for(j=9;j>=1;j--)
{
cout<<string(10-j,' ')+string(2*j-1,'%')<<endl;
}
cin.get();
}
我的主要意思是为什么不加#include<string>也能在DEV C++中通过编译?

DEV C++中#include<iostream>已经包涵了
#include<string>(字符串函数)了。而VC++2008需要声明打开字符函#include<string>

因为vs2008是使用的微软自己的编译器,iostream.h里可能不包含string.h

而dev-c++使用的是mingw的编译器,不同的编译器里的头文件会有一些差别