1、vector的初始化
使用g++编译的时候要注意,要是编程的写法是c++11的风格,要在编译选项加-std=c++11
- 需要指出的是,在早期版本的c++标准中,出现vector的元素还是vector(或者其他类型的模板类型),其定义与现在的c++11版本略有不同。过去,必须在外层vector对象的右尖括号与其他类型之间加一个空格,如,写成
vector>
,而非vector>
。
- 如果出现出现初始化vector的长度为没有具体的初始值,这个时候要看里面的具体类型,如果是int类型,就是初始化自动设置为0,如果是其他类的类型,为类的默认初始值。
{}
是进行对应元素的初始化赋值,()
是进行个数或者个数和元素的初始化。
vector v1;
vector v2(v1);
vector v2 = v1;
vector v3(n, val);
vector v4(n);
vector v5{a,b,c,...};
vector v6 = {a,b,c,...};
2、vector添加对象
- c++标准要求vector能够在高效快速地添加元素。因此没有必要设定其大小,这样做性能可能更差。(除非所有元素的值是一致的,不然添加元素效率高些)
- 使用类的成员函数
push_back();
- c和java里面,可以预计在创建vector时制定长度最好,事实是相反的。
3、其他类型的操作
- empty();如果不含元素,返回真,否则假
- size();返回元素个数
- push_back(t);末尾添加t
- v[n];返回第n个元素
- v1 == v2; 如果v1和v2相等当且仅当对应元素都相等
- v1 != v2;