Fré*_*idi 56
一个标准::矢量管理它自己的内存.您可以使用reserve()和resize()方法让它分配足够的内存以适合给定数量的项:
std::vector<int> vec1;
vec1.reserve(30); // Allocate space for 30 items, but vec1 is still empty.
std::vector<int> vec2;
vec2.resize(30); // Allocate space for 30 items, and vec2 now contains 30 items.
Run Code Online (Sandbox Code Playgroud)
看看这个 你用list.reserve(N);
Vector会处理它的内存,你根本不需要使用reserve().如果您已经知道向量列表需要多大,那么它只是真正的性能提升.
例如:
std::vector<int> v;
v.reserve(110); // Not required, but improves initial loading performance
// Fill it with data
for(int n=0;n < 100; n++)
v.push_back(n);
// Display the data
std::vector<int>::iterator it;
for(it = v.begin(); it != v.end(); ++it)
cout << *it;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
73315 次 |
最近记录: |