【问题标题】:How to use a global variable as part of an array name如何使用全局变量作为数组名称的一部分
【发布时间】:2021-07-09 14:32:42
【问题描述】:

我有四个数组:

int a1 [3] = { 10, 20, 30 }; 
int a2 [3] = { 10, 20, 30 }; 
int a3 [3] = { 10, 20, 30 };
int a4 [3] = { 10, 20, 30 };

我想根据全局变量调用数组:

int sys=1;

让我们说:

int a1+sys; // this should gives array a2
int a1+2*sys; // this should gives array a3

我怎样才能做到这一点?

【问题讨论】:

  • 你不能。你认为你为什么需要这个?
  • 而不是单独的一维数组,而是设置一个二维数组:int a[4][3] = { { 10, 20, 30 }, { 10, 20, 30 }, ...}; 现在你可以写a[sys]
  • 可能是一个二维数组:int a[4][3] = { {10,20,23}, {.... 然后a[sys][x] ??

标签: c++ arrays global-variables


【解决方案1】:

看来你要找的是数组数组:

int a[][3] = {
    { 10, 20, 30 },
    { 10, 20, 30 },
    { 10, 20, 30 },
    { 10, 20, 30 },
}; 

auto& a2 = a[sys];
auto& a3 = a[2*sys];

【讨论】:

    猜你喜欢
    • 2019-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 2011-11-03
    • 2019-08-16
    相关资源
    最近更新 更多