C++学习笔记3
1. vector定义与初始化:vector<T> v1 默认构造函数,v1为空
vector<T>v2(v1) v2为v1的一个副本
vector<T>v3(n,i) v3包含n个值为i的元素
vector<T>v4(n) v4含有初始化元素的n个副本
2. vector有一部分有默认构造构造函数来初始化值,定义时可不初始化,有一部分没有默认构造函数来初始化,必须定义且初始化。
3. v.empty() 空返回ture 非空返回false
v.size() 返回v中元素个数 类型为vector<T>::size_type
v.push_back(t) 在v的末尾添加t元素
v.[n] 返回v中下标为n的元素
v<T>::iterator i 容器迭代器类型
v.begin() 返回的迭代器指向容器的第一个元素
v.end() 返回的迭代器指向容器的末端元素的下一个 实际不存在 称为“超出末端迭代器” 如果容器为空返回迭代器与begin()相同
v1=v2 把v1元素替换为v2元素
v1==v2 真返回ture
4. 容器下标可以返回已存在的元素,如果要添加元素,不能使用下标操作,可使用push_back()
5. 任何改变容器长度的操作都会使已存在的迭代器失效,例如:push_back()之后就不能再信赖容器迭代器的值