C++多维数组索引

6

我已经阅读了这篇文章。然而,我无法理解以下声明的含义。

假设我声明了这个:

Declaration 1:    int jimmy [HEIGHT][WIDTH];

   Accessing 1:   jimmy[n][m]

Declaration 2: int jimmy [HEIGHT * WIDTH];


 Accessing 2:  jimmy[n*WIDTH+m]

声明1和访问1,声明2和访问2是相同的源代码

但是,jimmy [n,m] 的意思是什么?我编写了代码,它给我地址。无法获得任何有用的信息。有人能说一下这是什么意思吗?


2
参见:维基百科 cppref - Ivan Aksamentov - Drop
如何使用逗号运算符?(https://dev59.com/TXVD5IYBdhLWcg3wNIvc),逗号运算符的正确使用方式是什么?(https://dev59.com/hGMm5IYBdhLWcg3wDrtR),何时重载逗号运算符?(https://dev59.com/7m035IYBdhLWcg3wJcYv) - phuclv
1个回答

10

C++有一个逗号运算符,它会对左侧的内容进行评估,丢弃返回值,然后对右侧的内容进行评估并返回。

你可以编写以下代码(参见http://ideone.com/hpQxWI):

int i = (1, 2, 3, 4);
std::cout << i;

你会打印出4。

因此,

jimmy[n,m]

表示

jimmy[m]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接