vector 的使用

2019-04-14 17:47发布

1、vector的初始化

使用g++编译的时候要注意,要是编程的写法是c++11的风格,要在编译选项加-std=c++11
  • 需要指出的是,在早期版本的c++标准中,出现vector的元素还是vector(或者其他类型的模板类型),其定义与现在的c++11版本略有不同。过去,必须在外层vector对象的右尖括号与其他类型之间加一个空格,如,写成vector,而非vector>
  • 如果出现出现初始化vector的长度为没有具体的初始值,这个时候要看里面的具体类型,如果是int类型,就是初始化自动设置为0,如果是其他类的类型,为类的默认初始值。{}是进行对应元素的初始化赋值,()是进行个数或者个数和元素的初始化。
vector v1;//初始化一个空vector vector v2(v1);//v2包含v1所有元素 vector v2 = v1;//与上面一样 vector v3(n, val);//包含n个元素,每个元素值为val vector v4(n);//长度为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;