从内存管理站点看,对函数中使用的所有临时向量使用一个向量类成员有什么区别:
class A
{
private:
vector<Type> m_vector;
}
void fnc()
{
m_vector.clear();
m_vector.push_back();
//further operations on vector
}
并在函数内部创建临时向量:
void fnc()
{
vector<Type> vector;
//further operations on vector
}
我想第一个选项会导致更少的内存碎片,因为我们正在做一个分配并使用这个区域,而在第二种情况下,我们正在为不同函数中的向量分配内存,这会导致内存碎片。
这种向量用法的优缺点是什么?当我的类在其函数中需要许多向量时,我应该使用哪一个?从内存管理网站看哪一个更好看?