【问题标题】:erase entire C++ vector [duplicate]擦除整个 C++ 向量 [重复]
【发布时间】:2020-12-21 01:05:58
【问题描述】:

我想知道以下哪个版本更适合清空vector,或者是否有更好的方法:

std::vector<T> v;
// 1
v.erase(v.begin(), v.end());
// 2
v = {};

我的想法是一个比另一个更复杂,但一个可以节省内存重新分配......

【问题讨论】:

  • 那要看你以后要不要用向量了

标签: c++ memory vector erase


【解决方案1】:

没有。惯用的方式是调用clear();:

std::vector<T> v = { ... };
v.clear();

【讨论】:

  • 我一定是从文档中逃脱了...
猜你喜欢
  • 2017-11-03
  • 1970-01-01
  • 1970-01-01
  • 2017-05-22
  • 1970-01-01
  • 1970-01-01
  • 2016-06-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多