9.3.4 关系操作符
所有容器类型都支持关系操作符来实现两个容器的比较。比较的容器必须具有相同的容器类型,而且其元素类型也必须相同。
C++语言只允许两个容器做其元素类型定义的关系运算。
9.3.5 容器大小的操作
size操作返回容器内元素的个数;empty操作则返回一个布尔值,当容器大小为0时,返回值为true,否则为false。
容器类型提供resize操作来改变容器所包含的元素个数。如果当前的容器长度大于新的长度值,则新容器后部的元素会被删除;如果当前的容器长度小于新的长度值,则系统会在该容器后部添加新元素。
list<int> m;
m.resize(4,100);
for(list<int>::iterator beg = m.begin();beg!=m.end();++beg)
{
cout << *beg << endl;
}
resize操作可能会使迭代器失效。在vector或deque容器上做resize操作有可能会使其所有的迭代器都失效。
对于所有的容器类型,如果resize操作压缩了容器,则指向已删除的元素的迭代器失效。
9.3.6 访问元素
如果容器非空,那么容器类型的front和back成员将返回容器内第一个或最后一个元素的引用。
list<int> m;
m.resize(4,100);
cout << m.front() << endl;
cout << m.back() << endl;
使用下标运算的另一个可选方案是at成员函数。这个函数的行为和下标运算相似,但是如果给出的下标无效,at函数将会抛出out_of_range异常。
9.3.7 删除元素