在写完了此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);
vec.push_back(1);
你的答案又会是什么呢?
作者在写完随笔后,着手了解STL中的Vector,本以为有相关书籍助力进度会快,却被小问题困扰。还给出在VC++6.0上编译执行的代码,并提出关于代码输出结果的问题,探讨Java与STL中Vector的区别。
1484

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



