【发布时间】:2014-05-28 19:48:35
【问题描述】:
假设你从另一个容器初始化一个向量:
main()
{
list<int> L { 0, 1, 2 };
vector<int> V ( L.begin(), L.end() );
copy ( V.begin(), V.end(), ostream_iterator<int> ( cout, " " ) );
cout << endl;
}
向量大小是设置一次,还是在初始化期间动态调整大小? (在此示例中不是问题,因为源中的元素很少,但如果源中的元素非常多,则可能会出现问题。)
【问题讨论】:
-
一次。如果您设法仅通过 L 一次(您的代码执行一次以计算大小并复制一次),则会获得奖励积分。
标签: c++ performance vector initialization