vector 的初始化
#include<iostream> #include<vector> using namespace std; //vector的初始化 int main() { vector<int> vec1; vector<float> vec2(3); vector<char> vec3(3,'a'); vector<char> vec4(vec3); return 0 ; }
- 第一个是空的整形vector,我们没有给他添加任何元素。
- 第二个初始化了一个有3个元素的vector,由于并没有指定初始 值,将会使用编译器默认的初始值(0)。
- 第三个初始化了含有3个a的字符vector,括号中第二个值代表着所有元素的指定值。
- 第四个vector通过拷贝vec3中的元素初始化vec4,它们的元素会一模一样。
获取长度
vec1.size()
添加元素
vec1.push_back(1)
or vec1[i] = 1
push_back()每次会添加一个元素到vector的末尾
判断是否为空
vec1.empty()
移除元素
vec1.pop_back();
如果vector为空,使用pop_back()将会产生异常结果,因此需要empty()来确定vector不为空。
vector相等判断与赋值
#include<iostream> #include<vector> using namespace std; //vector相等判断与赋值 int main() { vector<int> vec1(3,2); vector<int> vec2; if (vec1 == vec2) { cout << "vec1与vec2相等" << endl; } vec2 = vec1; cout << "赋值后" << endl; if (vec1 == vec2) { cout << "vec1与vec2相等" << endl; } return 0 ; } //赋值后 //vec1与vec2相等
vector的赋值会把一个vector所有的元素赋值到另一个vector中,并替代所有元素;而vector的相等也是需要逐个元素依次比较并全部相等才算相等。