代码简洁性 有时候 会使阅读 比较困难。
不能使用下标形式,添加元素。正确的方法是使用 push_back()
vector的下标运算符,只可以访问已经存在的元素,而不能用来添加元素。
访问错误下标,不会引发编译错误,但会生成一个运行时错误。 比如缓冲区溢出。
迭代器有 有效和无效之分。
当容器为空, begin()和end()指向同一个位置。
使用迭代器,在标准库提供给的所有容器中都有效。
迭代器类型
vector::interator it;
vector::const_interator c_it;
迭代器类型支持 迭代器所规定的一套操作。
解引用迭代器,可以得到迭代器所指的对象。
(*it).empty(); 这个圆括号必不可少,因为优先级的原因。
为了避免这种括号的问题, 定义了 -> 操作符, 这就相当于把 括号 和 点操作符 合并了。
it->empty();
任何可能改变vector对象容量的操作,都会使该对象的迭代器是失效。
使用了迭代器的循环,就不要向迭代器增加元素。
每次添加删除元素后,都重新计算 end() 迭代器。