c++中reverse和resize的区别
来源:互联网 发布:数据比对公式vlookup 编辑:程序博客网 时间:2024/05/20 23:29
reserve是容器预留空间,但并不真正创建元素对象,在创建对象之前,不能引用容器内的元素,因此当加入新的元素时,需要用push_back()/insert()函数。
resize是改变容器的大小,并且创建对象,因此,调用这个函数之后,就可以引用容器内的对象了,因此当加入新的元素时,用operator[]操作符,或者用迭代器来引用元素对象。
resize是改变容器的大小,并且创建对象,因此,调用这个函数之后,就可以引用容器内的对象了,因此当加入新的元素时,用operator[]操作符,或者用迭代器来引用元素对象。
再者,两个函数的形式是有区别的,reserve函数之后一个参数,即需要预留的容器的空间;resize函数可以有两个参数,第一个参数是容器新的大小,第二个参数是要加入容器中的新元素,如果这个参数被省略,那么就调用元素对象的默认构造函数。下面是这两个函数使用例子:
vector<int> myVec; myVec.reserve( 100 ); // 新元素还没有构造 // 此时不能用[]访问元素 for (int i = 0; i < 100; i++ ) { myVec.push_back( i ); //新元素这时才构造 } myVec.resize( 102 ); // 用元素的默认构造函数构造了两个新的元素 myVec[100] = 1; //直接操作新元素 myVec[101] = 2;根据英文意思,reverse是预留,resize是再分配。
阅读全文
0 0
- c++中reverse和resize的区别
- resize和reverse的区别
- vector resize和reverse区别
- vector resize和reverse区别
- 容器中resize和reserve的区别
- C++中resize()和reserve()的区别
- vector 中resize和reserve的区别
- vector 中resize和reserve的区别
- STL方法中,resize()和reserve()的区别和用途
- reserve和resize的区别
- vector 在c++中resize 和reserve的区别
- vector中resize和reserve的区别,代码验证
- c++中vector的 resize()和reserve()区别
- C++ vector中size/resize和capacity/reserve的区别
- vector之reverse和resize
- vector中resize()和reserve()区别
- STL中resize()和reserver()区别
- vector中resize()和reserve()区别
- C++标准库类型vector
- Linux/UNIX 10个有用的Sar命令监控系统性能的例子
- Haskell学习笔记 --- 基础语法篇一
- 曾优雅击退史上最凶狠的DDoS攻击_AliGuard的高性能从何而来?
- 解决 Android N 7.0 上 报错:android.os.FileUriExposedException
- c++中reverse和resize的区别
- 采用Java阻塞IO对已经到达的socket流实现非阻塞完整读取(一个简单的java http server实现)
- mongodb配置及其开机自启动设置
- **kwargs 的用法
- node mocha 单元测试debug
- MyBatis知识点学习
- poj 1236 Network of Schools 1 (tarjan 缩点)
- 关于php中string类型下的第0个元素
- AndroidStudio编程程序时缺少R文件