今天被微软编译器好好耍了一把,这几天学STL,才发现我原来了解到的C++只是冰山一角,这学期对C++收获还是挺多的,从面向对象的深入了解,到学STL,发现还有BOOST这样庞大的东西,感觉头都要晕了,今天看到双端队列的一个例子是这样的:
#include <iostream>
#include <deque>
#include <vector>
using namespace std;
void main()
{
int data[5]={6,8,7,6,5};
vector<int> v(5,6);//用数6对5个元素进行赋值5个6
deque<int> d(data,data+5);
deque<int>::iterator p;
cout <<"/nDeque values"<<endl;
for(p=d.begin();p!=d.end();++p)
cout<<*p<<'/t';
cout<<endl;
d.insert(d.begin(),v.begin(),v.end());
for(p=d.begin();p!=d.end();p++)
cout<<*p<<'/t';
}
同样一段代码在VC6.0上就不能编译通过即使打上了VS6SP6,而在VS2003中就没有一个错误的能运行,让我第一次切身的体会到了编译器对标准C++支持的不同,以后还是用VS2003算了.
本文分享了作者在学习C++ STL过程中的经历,特别是在使用不同版本的微软编译器时遇到的问题。通过一个关于双端队列的例子,展示了VC6.0与VS2003之间的差异。

被折叠的 条评论
为什么被折叠?



