如何擦除或清除结构数据类型的向量



定义一个结构

struct data{
 int a, b;
};

vector<data>v

现在我的问题是如何清除/擦除这个矢量/矢量的元素在c++(这将是更好的,如果你张贴的答案为旧版本的c++编译器,如c++ 4.3.2/c++[不是c++ 11/14])

要删除所有元素(调用析构函数),声明不再打算使用该空间…实际的矢量实现决定何时释放该空间,但你不必担心):

v.clear();

裁判:http://www.cplusplus.com/reference/vector/vector/clear/

注意:如果您想立即释放vector中的内存,请使用v.resize(0);

要将结构的所有值设置为0,快速而肮脏(但不一定漂亮或可取)的方法是:memset( v.data(), 0, sizeof(data) * v.size() );

最新更新