让人头痛的Vector(提问篇)

来源:互联网 时间:1970-01-01

在写完了此Vector非彼Vector这篇随笔之后,带着留下来的一个问题——Java中的Vector与STL中Vector的区别,我开始集中精力去了解STL中的Vector了。原本以为,有大名鼎鼎的好书《C++ Standard Library, The: A Tutorial and Reference》坐镇,进度应该会很挺快的,结果是被一个小问题绊倒,摔得满天星星,到现在还头痛呢。
大家可以先看这段代码(在VC++6.0上编译执行):

#include <iostream>
#include <vector>

using namespace std;

void main() {
vector<int> vec;
vec.reserve(5);

vec[0] = 0; // 1
vec[1] = 1; // 2

if(vec.empty())
{
cout << "The vector is empty!" << endl;
}
}

先问大家一个问题,"The vector is empty!"会被打印出来吗?如果将注释中的1、2两行改为:

vec.push_back(0);
vec.push_back(1);

你的答案又会是什么呢?



相关阅读:
Top