vector容器定义时如果程序中没有显式初始化,则容器会自动对所有元素进行初始化,例如vector数组所有元素会被自动初始化为0.然而如果是用传统的方法定义数组:int array[size],若程序员不显式初始化则数组的初值会是奇怪的值。示例代码如下:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
//vector<int> *myVector = new vector<int>(5);//new方法,注意需要用指针来接收new的返回值
vector<int> myVector(5);//方法2:对象的普通定义--变量法
//使用迭代器来访问vector
vector<int>::iterator iter;
int myArray[5];
for(iter = myVector.begin(); iter != myVector.end(); iter++)
cout<<*iter<<endl;
for(int i = 0; i < 5; i++)
cout<<myArray[i]<<endl;
return 0;
}
/*
输出:
0
0
0
0
0
4200371
4200310
144
-1
9386392
*/