为了账号安全,请及时绑定邮箱和手机立即绑定

您好,请问关于c++ vector begin(),end(),rbegin(),rend()问题

您好,请问关于c++ vector begin(),end(),rbegin(),rend()问题

芜湖不芜 2021-10-27 22:11:58
我尝试了一下这些输出,如果end()不等于rbegin(),那么为什么下面的begin()又等于rend()呢?好迷惑。。。cout<<*(vecList2.end()-1)<<endl;cout<<*vecList2.rbegin()<<endl;cout<<*vecList2.begin()<<endl;cout<<*(vecList2.rend())<<endl; //这里的rend()跟rend()-1都是一样正确的数据,那到底哪个正确呢?
查看完整描述

2 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

1、如红框勾选所示,构造一个int类型的空vector向量。

2、程序运行结果如图,可以看到vector的size为0。

3、如红框勾选所示,构造了6个元素值为20的vector向量。

4、运行结果显示,成功的构造了6个元素为20的向量。

5、以现有vector对象的范围作为构造函数的参数,同样也将对象复制给另一个vector对象。然后运行结果就完成了。



查看完整回答
反对 回复 2021-10-31
?
温温酱

TA贡献1752条经验 获得超4个赞

begin() 指向vector起始位置迭代器
end() 当前vector末尾元素的下一位置的迭代器
rbegin()指向末尾的下一位置,而其内容为末尾元素的值
rend()当前vector起始位置的逆迭代器

查看完整回答
反对 回复 2021-10-31
  • 2 回答
  • 0 关注
  • 284 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信