【发布时间】:2017-05-05 10:05:03
【问题描述】:
使用 new int 分配数组的标准方法是:
int* arr = new int[50];
以这种方式声明它时,将有连续的内存分配,并且变量堆栈中将有一个数组变量。
如果我想以 50 个不同的指针变量的形式声明它,以便每个指针具有不同的内存地址并且不一定是连续的,那么最明显的方法是这样的:
int * arr[50];
但是以这种方式分配内存的命令/代码是什么(即通过 new int )以及以每种方式声明的缺点或优点是什么。
【问题讨论】:
-
for(int i=0;i
-
为了轻松生活,请使用
std::vector<int>。 -
如果您能分享您这样做的动机,那就太好了。
-
我只是好奇内存在分配过程中是如何工作的。
-
我不会以“标准方式”称呼
int *arr = new int[50];。这是你应该很少写到永远不会写的东西。也许在非常古老的教科书中提到过。
标签: c++ arrays pointers memory-management dynamic-allocation