【发布时间】:2018-06-04 03:22:20
【问题描述】:
我试图了解如何在 C++ 中创建一个动态指针数组。
我知道new 返回一个指向已分配内存块的指针,int*[10] 是一个指向int 的指针数组。但是为什么要将它分配给int**?我很难理解这一点。
int **arr = new int*[10];
【问题讨论】:
-
如果
int[]衰减为int*,那么int*[]将衰减为int**。 -
您通常使用
T *arr = new T[N];。如果T是int,那么它就变成int *arr = new int[N];。如果T是int *,那么它就变成了int **arr = new int*[N];。 -
使用 std::vector,而不是 new[]。
标签: c++ arrays pointers dynamic-memory-allocation