矢量调整大小是如何实现的?

Tal*_*l S 0 c++ pointers add new-operator

我试图找出一个向量在已经"创建"一些之后如何添加更多对象,我的意思是:

int *ptr;
ptr = new int;
Run Code Online (Sandbox Code Playgroud)

如何使用它,你可以为该指针添加更多的对象吗?(把它变成一个数组)
谢谢!

cas*_*nca 7

大多数实现都是从一个小数组开始,每当它达到它的容量时,就会分配一个大小为double的新数组,并将旧元素复制到新数组中.

  • 更一般地,对于具有常数k> 1的N大小的向量,将向量调整大小为kN,以便将插入的摊销复杂度降低到恒定时间. (2认同)