如何使程序声明可变数量的不定大小数组

How to make a program declare variable number of indefinite size arrays

本文关键字:数组 小数 程序 何使 声明      更新时间:2023-10-16

听起来可能很疯狂,但我想知道是否可以让程序使用 C/C++ 在循环中声明array[]类型的数组数量n。例如,示例以下伪代码:

input int _n_  
run loop for _n_ times such that:  
declare _array1[]_  
declare _array2[]_  
.  
.  
declare _array'n'[]_ 

所以这里的问题是双重的:
- 声明可变长度数组
- 声明一个可变数(即n个)这样的数组。

真值表:

task        / language         | C                   | C++
-------------------------------+-----------------------+------------------------
Declare variable length arrays | Use VLAs            | not possible without
                               |      int arr[n];    | non-standard extensions
                               |                     | but use std::vector<T>
-------------------------------+---------------------+--------------------------
Declare a variable number      |  not possible but   | not possible but use
(i.e. n number of) such arrays |  use int arr[n][k]; | vector<vector<T>> 

我的理解是,如果你想要多个数组,你不能只使用一个 2D 数组吗?这当然意味着您没有数组的可变长度,但您可以拥有相同长度的可变数量的数组。

然后你有这个:

int n;
int array[n][length];