vector根本不是以2倍来开辟新内存空间的。如果把下面的代码跑一下,会发现vector每次新增的内存空间是capacity()的一半,即以1.5倍增长: vector<int> v2(2); int nums = 20; for (int i = 0; i < nums; ++i) { v2.push_back(i + 1); cout << "v2_size: " << v2.size() << "\t v2_capacity: " << v2.capacity() << endl; } 这篇bolg里也阐述了这个问题:https://www.jianshu.com/p/31b17cbe3b64</int>
2

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务