vector越界访问会怎么样_vector下标访问

vector越界访问会怎么样_vector下标访问intmain(){vector<int>ivec(10);cout<<ivec[0]<<endl;cout<<ivec[100]<endl;}vector中包含三个迭代器:first迭代器指向第一个元素;finish迭代器指向最后一个有效元素的下一个位置;end_of_storage迭代器指向整个vector空间末尾的下一个位置。访问ve…


Jetbrains全系列IDE稳定放心使用

int main(){

vector<int> ivec(10);

cout<<ivec[0]<<endl;

cout<<ivec[100]<endl;}

  • vector中包含三个迭代器:first迭代器指向第一个元素;finish迭代器指向最后一个有效元素的下一个位置;end_of_storage迭代器指向整个vector空间末尾的下一个位置。访问vector中的成员都是通过这三个迭代器实现的。
  • 通过下标访问vector中的元素时不会做边界检查,即便下标越界。也就是说,下标与first迭代器相加的结果超过了finish迭代器的位置,程序也不会报错,而是返回这个地址中存储的值。
  • 第一行代码没有任何问题,输出首元素的值。虽然第二行代码逻辑上有问题,属于典型的越界访问,但是程序仍然会编译通过并输出对应地址的值。
  • 如果想在访问vector中的元素时首先进行边界检查,可以使用vector中的at函数。通过使用at函数不但可以通过下标访问vector中的元素,而且在at函数内部会对下标进行边界检查。
  • 综上所述,程序编译通过并正常运行,首选输出first迭代器对应地址中的值,然后再输出first+100对应地址的值。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186923.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 智能车电感差比和差加权算法研究

    智能车电感差比和差加权算法研究▲李佳昊王谢援吴涛在研究基于电感的智能车方向控制时发现了弯道拟合度高的差比和差加权算法。本文从算法的发现、算法原理出发对差比和差算法进行描述,并使用MATLAB、Python建模对其弯道拟合度高的特点与其他优势进行证明。关键词:智能车;电感;MATLAB;01引言在研究基于电感的智能车方向控制时,首先使用了较为普遍的电感差比和加权引导方案。调试过程中,发现小车对于弯道的敏感度不理想,故多次尝试修改横纵电感权重,或将代码推翻重写,寻求理想的结果。进行数次代码推翻重写后,偶然产生了一次期望之外的

    2022年5月14日
  • Vmware ESX 5.0 安装与部署

    Vmware ESX 5.0 安装与部署

    2021年12月6日
  • windows下使用tail命令

    windows下使用tail命令tail命令为linux下的常用查看日志命令,可惜在windows下没有,还好有好心人开发了一个可以在Windows下的运行的小工具,来给分享一下:链接:https://pan.baidu.com/s/1-LiogYgYcAEbZUstdEZURg密码:1w6p使用方法:下载后解压,将tail.exe复制到目录:C:\Windows\System32下即可在cmd里使用…

    2022年6月4日
  • 电阻器的识别与测量答案_电阻器的判断

    电阻器的识别与测量答案_电阻器的判断原文地址:电阻器的识别与测量作者:绵绵小溪2011年9月14日                                                                     第3周第7,8课时课  题电阻器的识别与测量教学目标知识目标:1)让学生理解色标法、直标法的含义;         2)让学生了解数字万用表测

    2022年8月21日
  • springboot实战第四章-自定义HttpMessageConverter

    springboot实战第四章-自定义HttpMessageConverter

    2021年5月15日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号