相关疑难解决方法(0)

C++中向量的初始容量

什么是capacity()std::vector这是使用默认constuctor产生的?我知道这size()是零.我们可以声明默认构造的向量不会调用堆内存分配吗?

这样就可以使用单个分配创建一个具有任意保留的数组,例如std::vector<int> iv; iv.reserve(2345);.让我们说出于某种原因,我不想size()在2345年开始.

例如,在Linux上(g ++ 4.4.5,内核2.6.32 amd64)

#include <iostream>
#include <vector>

int main()
{
  using namespace std;
  cout << vector<int>().capacity() << "," << vector<int>(10).capacity() << endl;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

印刷0,10.这是规则,还是STL供应商依赖?

c++ memory-management stl vector

77
推荐指数
5
解决办法
5万
查看次数

标签 统计

c++ ×1

memory-management ×1

stl ×1

vector ×1