STL容器vector的下标运算符[]
来源:互联网 发布:网络桥接怎么设置 编辑:程序博客网 时间:2024/06/15 23:52
对于容器vector,[]操作符的作用是获取相应位置上的值,有的时候使用不当就会造成问题,请看下面例子:
上面的代码会出现Segmentation fault (core dumped),这是因为vec里面没有元素,还没有分配内存空间以存储元素,却对vec的0位置作出访问,因此等同于指针越界访问。正常的情况下,大家可能都不会写出以上的代码,但是当程序越来越大,函数调用层次越来越深的时候,这些问题就可能会出现了,这个例子也是本人在工作中遇到过的,当时加了很多日志才找到这个问题,在这里提醒一下自己,也提醒一下大家。
为了避免程序crash,在访问vector的元素时,强烈建议还是先调用函数size()判断一下vector是否有元素。
阅读全文
0 0
- STL容器vector的下标运算符[]
- STL容器vector的下标运算符[]
- STL容器map的下标运算符[]
- STL容器map的下标运算符[]
- STL容器map的下标运算符[]
- C++STL中常用的容器下标[]运算
- string和vector下标运算符
- C++ STL 的vector容器的操作
- 从一段小程序看vector的[]下标运算符与size()
- 下标运算符的重载
- vector容器类的使用[c++ stl]
- STL中的vector容器的一点总结
- STL-容器间的复制list&vector
- C++STL中vector容器的用法
- STL-容器间的复制list&vector
- vector -- STL中容器的常用函数
- STL-容器间的复制list&vector
- STL容器vector的内存问题
- 今年暑假不AC
- VS2013 UAC模式看不到网络驱动器
- PAT乙级 1069. 微博转发抽奖(20)
- 2017 多校 Function(置换群
- 802.11控制帧&管理帧
- STL容器vector的下标运算符[]
- 【HDU
- centos7 nginx 支持php
- js程序设计思维和if语句案例
- 程序设计思维
- Shell-alias在Shell脚本中的使用
- Js程序设计思维模式
- 嵌入式Linux完全开发手册-------------构建根文件系统
- 深入理解Linux内核-第四章笔记