水木社区手机版
首页
|版面-C++程序设计语言(CPlusPlus)|
新版wap站已上线
返回
1/1
|
转到
主题:vector数据的内存是连续的吗
楼主
|
qngy
|
2021-01-16 21:27:39
|
展开
各位高手,使用vector<double> 定义的对象,通过double指针访问传入使用double数组(或指针)进行运算的函数可靠吗?通过简单例子发现vector地址是连续的。
背景是有一些老旧的c/c++计算代码采用的是数组和指针形式的数据,是否可以在使用stl顺序性容器环境下直接使用?还是需要把vector<double> 转换为数组再调用(需要来回转换效率有所降低)?
--
FROM 117.143.176.*
2楼
|
qngy
|
2021-01-16 23:03:19
|
展开
这个方法不错,reserve(n)之后就把声明的内存空间都占用了吧,不插入元素也占用内存?
【 在 ble 的大作中提到: 】
: 是的,只要你不再插入元素,不然有可能会重新分配。如果能预料到最终可能的大小,提前用reserve(n)声明大小,后续插入元素(大小不超过n)也不会导致地址失效。
:
--
FROM 117.143.176.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版