如何创建末尾附加整数的变量名

How to create variable name with integer appended to the end?

本文关键字:整数 变量名 何创建 创建      更新时间:2023-10-16

我想创建一个for循环,用c++中的数据填充一堆数组。现在为了节省空间,将来一旦添加了更多的数组(它们会添加),我就有了for循环。用于演示的每个数组都被称为数组#(#是一个数字)for循环的要点是设置一个具有最大数组的常量,然后通过在数组名称的末尾添加i来循环填充每个数组。

例如在伪代码中:

for (i = 1; i < numberofarrays; i++)  
{ fill (Array & i) with ("Array" & i & "-default.txt")}

任何类型的代码都不可能生成变量名
(这意味着不可能在运行时或编译时生成动态变量名)

可能的最佳解决方案是阵列阵列:

int Arrays[][];

调用Arrays[0]会得到第一个数组。

如果你想在运行时确定数组的数量,你需要使用指针!

看起来是这样的:

(int[])* Arrays = new (int[])[numberofarrays];

访问数组中的数组也是一样的!

一种替代方案是使用来自std的容器vector

代码看起来是这样的:

#include<vector>
// More includes
// Optional
using namespace std;
// Somewhere in your code
vector<vector<int>> Arrays;

您仍然可以使用标准数组方法(例如Arrays[15][78]

来访问元素

您其实并不需要这个名称。您可以使用数组的std::向量。这将无法开箱即用,请参阅使用阵列矢量的正确方法

另一种方法是使用数组的std::映射。如果你真的想要的话,你可以用这个名字作为钥匙。您仍然需要使用与以前相同的解决方法才能将数组作为值。例如,请参见字符数组作为C++映射中的值。