让我们定义一个结构
struct data{
int a, b;
};
和
vector<data>v
现在我的问题是如何在 C++ 中清除/删除这个 vector/vector 的元素(如果你发布旧版本的 C++ 编译器的答案,比如 C++ 4.3.2/C++ [不是 C++,这会更好) 11/14] )
最佳答案
要删除所有元素(调用析构函数,声明您不再打算使用该空间...实际的 vector 实现决定何时释放该空间,但您不必担心):
v.clear();
引用:http://www.cplusplus.com/reference/vector/vector/clear/
注意:如果想立即释放vector中的内存,使用v.resize(0);
要将结构的所有值设置为 0,快速而肮脏(但不一定漂亮或可取)的方法是:memset( v.data(), 0, sizeof(data) * v.size ());
关于c++ - 如何删除或清除结构数据类型的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32145554/