容器的比较和字符串的比较

容器的比较和字符串的比较是相同的
容器的比较:优先判断字符串的长度
ivec1:5,1,2,3,4
ivec2:0,1,2,3,4,5
string1 "51234"
string2 "012345"
容器:ivec2 比 ivec1长,所以ivec1 > ivec2
字符串:string1的第一数字比string2的第一个数字大,所以string1 > string2

相等判断:
容器:首先长度是否相等,然后每个元素是否相等,都相等则两容器相等
字符串:直接判断字符是否相等,每个字符都相等则字符串相等
注:容器的关系运算需要容器内的元素支持关系运算
如果容器的元素为类对象,但类对象不支持关系运算,那么该容器不支持关系运算

We can compare two containers only if the same relational operator defined for the element types.
Each container relational operator executes by comparing pairs of elements from the two containers

容器的关系运算不同于迭代器的关系运算:(迭代器的本质是指针)
容器的关系运算(限制少):所有的容器类型都支持关系运算,只要其所包含的元素支持关系运算
容器的迭代器(限制多):>, >=, <, <= 迭代器的此类操作只适用于vector和deque容器,(两个迭代器相加减(+/-)操作也只适用于vector和deque容器)
其实可以看出,像vector和deque这样连续存储的容器,是可以进行关系运算的,但像list这样非连续存储的,则不能进行关系运算
扩展:容器迭代器的+n -n += -= ++iter iter++ --iter iter--适用于所有迭代器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值