vector
来源:互联网 发布:手机降温软件 编辑:程序博客网 时间:2024/06/04 23:32
vector的迭代器容易失效:
vector<char> chars; constexpr int max = 20000; chars.reserve(max); vector<char*> words; //指向单词开始位置的指针
因为vector声明的时候不需要声明大小,随着push_back(),元素数目增多,达到容量时,(一般容量会自动增加一半)。此时容量发生重新分配,原来的迭代器会失效。即“words”里面储存的指针会失效。 所以需要提前reserve。
这里的失效的含义是指如果继续使用这些指针的话会产生未定义的行为。
vector的优点:
1.vector的元素是紧凑储存的。即用多少就给多少,不会像数组一样必须要开多大,vector是即用即增。
2.vector的遍历非常快。
3.vector支持随机访问,使得很多算法(sort,binary_search ) 非常高效。
vector<char> 与 string
vector是一种保存值得通用机制,并不对保存的值之间的关系做任何假设,比如对于vector<char> “hello world!”就是一个13个char类型的元素的序列而已。与之相反,string的设计目的就是保存字符序列,它认为字符间的关系非常重要。
0 0
- vector
- vector
- Vector
- Vector
- vector
- vector
- VECTOR
- VECTOR
- VECTOR
- vector
- vector
- Vector
- vector
- vector
- vector
- Vector
- vector
- vector
- mysql在存储过程中字符串转换数字
- git fatal: cannot create directory at XXX中文 No such file or directory
- MapReduce实现两表的Join--原理及python和java代码实现
- Mysql引擎 Innodb和MyISAM的区别
- 腾讯课堂——IMWeb训练营: Day5 作业
- vector
- 【脚本语言系列】关于Python测试工具mock, 你需要知道的事
- 关于485串口通信
- 解决Execution failed for task ':app:clean'. > Unable to delete directory问题
- vue2 router 动态传参,多个参数
- IMWeb训练营 todo list作业
- Android实现地图照片墙原理
- 2017.4.19 数列 思考记录
- python程序的加密和打包