标签:
《absolute C++》 第七章 vector part
--------------------------------------------------------------------------------------
♦使用向量vector需要 #include <vector> ;using namespace std;
♦声明一个名为v为int类型向量变量的方式如下:vector <int> v, 其中vector <int>是一个模板类。
♦向量元素和数组的元素一样,都是以0开始的。
♦向量可以简单如 v[i]=42 ; 定义, 但v[i]必须是之前已经定义过的向量元素。
♦如果要第一次初始化,即添加一个新向量元素,需要使用成员函数push_pack,定义方式如下:
vector<double> sample; // 定义一个 vector类 sample
sample.push_back(0.0); // 第一个元素定义为0.0
sample.push_back(1.1);
sample.push_back(2.2);
♦可以使用成员函数size来返回向量中元素的个数。值得注意的是, 返回的是unsigned int, 如果想要编译器在for循环中不报错,可以如下定义
for (unsigned int i = 0; i < sample.size( ); i++)
cout << sample[i] << endl;
♦ 向量中包含一个整形参数的构造函数,如下定义就可以将v向量前十个元素初始化为0.
vector<int> v(10);
♦和数组一样,向量的元素可以使用任何类型,包括类类型,如:
vector<AClass> record(20);
以上语句表示,向量构造函数调用Aclass类的默认构造函数来初始化20个向量元素,也就是说初始化向量的方法和 Aclass默认构造函数相同!
♦ 向量内存分配函数 ①:v.reserve(32); 设置v向量的容量至少可以存放32个元素。
②:v.reserve(v.size( ) + 10); 设置v向量至少可以存放比当前存放的多10个元素。
③:v.resize(24); 强制将向量大小更改为24个元素。 (如果原向量最初的大小小于24个元素,则新的元素会被初始化,如果原向量的大小大于24,则超过24的元素都将会丢失)
标签:
原文地址:http://www.cnblogs.com/tianye/p/4540953.html