[英]Vector of new vectors
假设我有一个动态分配向量的向量,例如:
std::vector<std::vector<double>*> map;
我是否必须手动解除分配 map 中的每个向量,或者它们是由向量析构函数本身自动解除分配的? 如果我必须手动完成,这是 go 的好方法吗:
for(auto& t : map) delete[] t;
?
您需要使用delete
而不是delete []
来释放它们,因为向量不是数组。
但我看不出你不使用的任何理由
std::vector<std::vector<double>>
这样你就不需要担心向量的分配
我是否必须手动解除分配 map 中的每个向量,还是自动解除分配
如果您手动分配,那么您必须手动解除分配(除非您将所有权转移到智能指针,在这种情况下您最好不应该首先手动分配)。
手动分配向量不是一个好方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.