c++利用vector时,它是有数据头和实际存储空间二部分的,那么它是不是与opencv的Mat类差不多呢,vector *f;与vector f,然后在f.resize(100)或者(*f).resize(100)这二种方法在内存的管理上是不是相差不大呢?
1条回答 默认 最新
关注 不知道你这个问题是否已经解决, 如果还没有解决的话:- 这篇文章:c++ vector造成的内存泄漏 也许有你想要的答案,你可以看看
- 除此之外, 这篇博客: C/C++ - vector做函数返回值的陷阱中的 vector 动态内存问题 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
vector
管理一片动态内存。它通过构造函数在堆上创建真正用于储存数据的对象并通过析构函数在堆上销毁储存数据的对象。//testarray 存栈上,元素存堆上 vector<int> testarray; //testarray 存堆上,元素存堆上 vector<int> *testarray = new vector<int>; //testarray 存栈上,保存的是int*,元素的指针,所以元素存堆还是栈并不是特别关系,指针存在堆上 vector<int*> testarray;
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决 无用评论 打赏 举报
悬赏问题
- ¥15 优质github账号直接兑换rmb,感兴趣伙伴可以私信
- ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
- ¥15 安装svn网络有问题怎么办
- ¥15 Python爬取指定微博话题下的内容,保存为txt
- ¥15 vue2登录调用后端接口如何实现
- ¥65 永磁型步进电机PID算法
- ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
- ¥88 找成都本地经验丰富懂小程序开发的技术大咖
- ¥15 如何处理复杂数据表格的除法运算
- ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)