C++ 返回结构类型的现有数组的查找表

C++ Look up table that returns an existing array of type struct

本文关键字:数组 查找 结构 类型 C++ 返回      更新时间:2023-10-16

我有许多结构类型的现有数组

typedef struct Patterns
{
    int a;
    int b;
    int c;
}

数组命名如下

arr0、arr1、arr2、arr3、arr4 等。

我被传递了一个整数值,并希望使用它来查找所需的数组并将其复制到临时数组中。

即 int 0 对应于数组 arr0,依此类推。

我尝试使用"map"方法,但在将数组分配给整数键时遇到错误"表达式必须是可修改的左值"

std::map<int, Patterns[]>map1;
map1[0] = arr0;
map1[1] = arr1;

我做错了什么?有没有更简单的方法来快速查找我需要使用的阵列?

使用向量而不是数组。你无法真正创建模式图[]。

你应该有

vector<vector<Pattern>> arrays;
arrays[0] = arr0;
arrays[1] = arr1;

等。