c++ new 和 vector

我们知道可以通过new操作符来创建新的对象或者动态分配一定的内存。同样vector也可以。

但是这两者是有一定区别的。

比方说我们现在需要设定一个数组,数组的大小为10,我们可以这样操作。

int *p1 = new int[10];  //开辟10个int的内存大小,不初始化,值是随机的。

// 或者 

 int *p1 = new int [10]();//开辟10int的内存大小,初始化值为int的默认值0,并且这里的括号只能为空,不能随便填写想初始化的值,否则导致编译错误。


还可以采用vector的方式


vector<int> data(10); //开辟10个初始化为0的vector<int>类型的 data;

还可以任意指定初始化的值,例如

vector<int> data2(10,99); //开辟10个初始化为99的vector<int> 类型的data2;

猜你喜欢

转载自blog.csdn.net/michaelhan3/article/details/76984845