PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] Struct内vector的内存释放?
楼主:
blackcity
(超黑城市)
2018-04-09 16:33:12
开发平台(Platform): (Ex: Win10, Linux, ...)
Win7
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
VS2012
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
n/a
问题(Question):
想请问一下Vector在Struct内的内存该如何才是完整正确的释放?
我宣告了一个Struct里面包含了Vector
1. 宣告Struct为物件
MyStruct StructItem;
2. 宣告Struct为指标
MyStruct *StructItem;
StructItem = new StructItem();
delete StructItem;
请问这两种方法,Struct内的Vector物件是不是都会完整的释放
不需要额外再去对vector作Swap的动作?
另外问一下,Vector Swap前,Clear是必须的吗?
谢谢~
作者:
dzwei
(Cout<< *p << \n ;)
2018-04-09 16:52:00
vector是动态产生的嘛?如果你没有用 vector A = new vector 这种方式产生vector照理说 不用去担心memory的问题
楼主:
blackcity
(超黑城市)
2018-04-09 16:54:00
里面是宣告固定的 vector<int> Vecitem; 这样
作者:
dzwei
(Cout<< *p << \n ;)
2018-04-09 16:57:00
恩 那就不用担心了 , 但还是要注意效能的问题 参考
http://t.cn/RmfRNZT
另外 swap的问题可以用 std::vector里面的non-member funcstd::swap 参考
https://bit.ly/2qiTLuq
作者:
bluesoul
(å¿™æ»ä½ è€çˆ¸)
2018-04-09 19:58:00
请使用shrink_to_fit
作者:
KanzakiHAria
(神崎・H・アリア)
2018-04-09 21:23:00
会这样问表示你不懂STL container的意义你想释放的是vector这个container本身还是你想释放vector的capacity?
作者:
steve1012
(steve)
2018-04-10 00:29:00
不需要释放
作者:
KanzakiHAria
(神崎・H・アリア)
2018-04-10 11:32:00
完全不用 vector就是会自动管理内存甚至要说swap是错误的用法也不为过你只要管好你的MyStruct本身
继续阅读
[问题] double pointer for malloc
yisin
[问题] 利用nlohmann json 读取发生错误
smartjay
[问题] C++ class type 及 物件生成疑问
x246libra
Re: [问题] 两题C++面试题的询问
wawi2
[问题] 关于Visual studio的除错
AdamChiau
Re: [问题] 物件的定义 .. function为何不是物件?
KanzakiHAria
[问题] 物件的定义 .. function为何不是物件?
alpho
Re: [问题] 两题C++面试题的询问
plsmaop
[讨论] deprecating raw pointer
KanzakiHAria
Re: [问题] 两题C++面试题的询问
descent
Links
booklink
Contact Us: admin [ a t ] ucptt.com