【发布时间】:2015-12-15 00:44:17
【问题描述】:
哪种方法更好更快,为什么?
for (unsigned int i=0; i<meshes.size(); i++)
{
meshes.erase(meshes.begin() + i);
if(meshes[i]) delete meshes[i];
}
或者这个……
for (auto it = meshes.begin(); it != meshes.end(); ++it)
delete *it;
meshes.clear();
【问题讨论】:
-
为什么将指针存储在向量中? What is "fast"?什么是更好的”?两者都很奇怪、缓慢且危险。
-
在向量中存储指针有什么问题?
-
第一个sn-p完全坏掉了。第二个破碎的稍微少一些。
-
@NRitH 什么都没有。我认为 Drop 的意思是“为什么要在向量中存储 拥有 指针而不是普通对象?”或“你为什么使用 raw owning 指针?”。
标签: c++11 visual-c++ c++14