std_vector使用注意事项
来源:互联网 发布:深圳市大数据研究院 编辑:程序博客网 时间:2024/05/23 15:17
std::vector使用注意事项
std::vector.end()并不指向最后一个元素,而是指向最后一个元素后面的一个内存单元,这里单元里并没有存储任何数据,因此,对该单元进行操作时就会出现范围溢出的错误。
要想调用vector的最后一个元素,则要使用vector.end()-1,才能调用成功。
如果要对vector中的元素进行删除有两种方法
- vector.erase(vector.begin(), vector.end()-1)。使用这种方法可以改变vector的size和capacity。
- vector.clear()。使用这种方法可以改变vector的size,却无法改变vector的capacity。其中capacity是vector所占的内存大小。如果要删除这些内存,可以使用vector().swap(x)进行删除。
参考内容:
- http://www.cplusplus.com/reference/vector/vector/clear/
- http://stackoverflow.com/questions/1525535/delete-all-items-from-a-c-stdvector
0 0
- std_vector使用注意事项
- Masonry使用注意事项,原生约束使用注意事项
- String 使用注意事项
- 笔记本使用前注意事项
- HashMap使用的注意事项
- Hibnerate Annotation使用注意事项
- JChatbox使用注意事项
- Gridview+sqldatasource使用注意事项
- SVN使用注意事项之一
- javabean使用注意事项
- UltraWebGrid使用,注意事项集合
- MagicAjax使用及注意事项
- MagicAjax使用及注意事项
- MagicAjax使用及注意事项
- TAO使用注意事项
- PHP Header使用注意事项
- vss2005使用的注意事项
- LCD使用注意事项
- 安卓4.4Launcher3自定义修改
- 用友UAP/NC,今天做表体的编辑后事件
- 不用比较语句比较两个数的大小
- C# winform传值
- java对象流ObjectInputStream、ObjectOutputStream的使用
- std_vector使用注意事项
- yum处于锁定状态的解决办法
- table内文字一行内显示
- Java标识接口
- 我的二次创业——Egret Html5游戏引擎
- PAT (Basic Level)1034. 有理数四则运算
- machine learning:计算error时lambda取值
- Self Summary: Ruby on Rails and MVC architecture
- Linux进程间通信——使用消息队列