0

正如主题所述..哪个版本更有效,为什么?

std::vector a;
..

a.clear();

或者

std::vector a;
..
if(!a.empty())
  a.clear();
4

2 回答 2

12

抛开效率不谈,您设法将错误写入这个小片段的事实证明了第一个版本要优越得多。代码越简单越好。

于 2013-09-03T14:58:05.887 回答
2

空向量是有效向量。所以操作

a.clear();

在空向量上有效。

在清除之前测试空虚是不必要且耗时的,因此第一个更有效。

于 2013-09-03T14:56:03.427 回答