第9章 顺序容器(5)

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 删除元素


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值