我想创建一个for循环,它将用c ++中的数据填充一堆数组.现在为了节省空间,将来再添加一个阵列,我就有了for循环.用于演示目的的每个数组称为Array#(#是一个数字)for循环的点是设置一个具有最大数组的常量,然后通过将i附加到数组名称的末尾来遍历每个数组填充.
例如在伪代码中:
for (i = 1; i < numberofarrays; i++)
{ fill (Array & i) with ("Array" & i & "-default.txt")}
Run Code Online (Sandbox Code Playgroud)
任何类型的代码都无法生成变量名称.
(意味着无法在运行时或Compiletime上生成动态变量名称)
可能的最佳解决方案是阵列数组:
int Arrays[][];
Run Code Online (Sandbox Code Playgroud)
调用Arrays[0]会给你第一个数组.
如果要在运行时确定数组的数量,则需要使用指针!
那看起来像那样:
(int[])* Arrays = new (int[])[numberofarrays];
Run Code Online (Sandbox Code Playgroud)
访问数组中的数组也是一样的!
另一种方法是使用容器vector从std.
代码看起来像这样:
#include<vector>
// More includes
// Optional
using namespace std;
// Somewhere in your code
vector<vector<int>> Arrays;
Run Code Online (Sandbox Code Playgroud)
您仍然可以使用标准数组方法访问元素(Arrays[15][78]例如)