我怎样才能在 C++ 中实现这个结果?数组指向数组

How can I achieve this result in c++? Arrays pointing to arrays

我正在尝试使用 c/c++ 执行以下操作。 为了解释代码应该如何工作,我编写了这个示例 python 代码。

A=[1,2]
B=[3,4]
C=[5,6]

X=[A,B,C]

print(X[2][1]) ##this should print the second element of the third array (6)

当我在python中创建一个先行创建列表的列表时,就像定义一个二维数组一样(显然不可能通过名称调用每个子数组)。

在 c/c++ 中,我无法执行此操作。我在网上看到,当我指向一个数组时,我总是得到第一个元素,是这样吗?

我可以在 C++ 中创建一个二维数组,但我需要先定义每个数组 (A、B、C),然后将它们全部列在大数组 X 中。 我怎样才能完成这个任务?

这里:

int A[]={1,2};
int B[]={3,4};
int C[]={5,6};
int* X[]={A,B,C};
printf("%d\n",X[2][1]);

您也可以使用 std::vector 完成这项工作。

int A[]={1,2};
int B[]={3,4};
int C[]={5,6};
std::vector<int> a(A,A+1);
std::vector<int> b(B,B+1);
std::vector<int> c(C,C+1);
std::vector<std::vector<int> > x;
x.push_back(a); x.push_back(b); x.push_back(c);
printf("%d\n",x[2][1]);