教c++时候的一些notes (3)
来源:互联网 发布:淘宝免费注册开店 编辑:程序博客网 时间:2024/06/05 10:37
vector<int> v(10);
这个时候, size应该是10, 也就是说,你可以做以下的操作,没有任何问题
这个时候,可以做如下的操作
v[0]=10;
v[9]=10;
但是,如果做
v[10]=1;
就会有很大的问题。
capacity的size完全取决lib的实现, 也许有的lib会把capacity 申请为2倍,这些都是由算法决定的。如果不去实现一个vector, 可以不用考虑capacity. capacity是 当前vector到底申请了多少空间来维护这个vector.
另外resize()会改变size, 同时也会影响capacity.比如
v.resize(20);
v[11]=10;
v[10]=10;
就没有什么问题.
reserve()会改变capacity, 但是不会影响size, 这个function会影响到vector内部算法。
总之,如果是应该,就不要管capacity. 就信任library function 吧
这个时候, size应该是10, 也就是说,你可以做以下的操作,没有任何问题
这个时候,可以做如下的操作
v[0]=10;
v[9]=10;
但是,如果做
v[10]=1;
就会有很大的问题。
capacity的size完全取决lib的实现, 也许有的lib会把capacity 申请为2倍,这些都是由算法决定的。如果不去实现一个vector, 可以不用考虑capacity. capacity是 当前vector到底申请了多少空间来维护这个vector.
另外resize()会改变size, 同时也会影响capacity.比如
v.resize(20);
v[11]=10;
v[10]=10;
就没有什么问题.
reserve()会改变capacity, 但是不会影响size, 这个function会影响到vector内部算法。
总之,如果是应该,就不要管capacity. 就信任library function 吧
- 教c++时候的一些notes (3)
- 教C++的时候的一些notes (1)
- 教C++的时候的一些notes (2)
- 演讲时候的一些注意事项
- Notes中有关C++API的注意事项
- Lotus Notes/Domino 的 C API 编程
- Lotus Notes/Domino 的 C API 编程
- Lotus Notes/Domino 的 C API 编程
- Lotus Notes/Domino 的 C API 编程
- Lotus Notes/Domino 的C API编程
- C/C++ Notes: C++的*和&
- 一些常用C库函数所属的头文件,列出来用的时候查的方便
- c programe language learn notes 3
- c programe language learn notes 3
- C++中经常遇到的一些小问题 --notes
- 一些关于Notes, Domino和iNotes的视频
- kylin创建cube时的步骤及一些notes
- gdb调试的时候的一些问题
- 理解 implicit interfaces和 compile-time polymorphism
- 什么什么大冒险》新手活命三大要点 [精品]
- 加点、打怪、升级、《问道》新区全攻略
- stdafx
- 新手朋友该怎样玩转《神界》
- 教c++时候的一些notes (3)
- 谨慎使用 private inheritance
- mldonkey 和浏览器关联的办法,适用 firefox, konqueror
- 程序之路的起点
- C# Visual Studio 2005中添加帮助文件
- 事件
- asp.net多层架构开发实例
- Web威胁日益严重 注意浏览网页的安全
- 老婆这种东西