在观看演讲者使用的教程时
int deca['f' + '9' + 2 ] = {0};
我从来没有在任何其他C++
教程中看到这个,但他们没有解释它的意思,当我试图在我的计算机上实现它时出现错误。
作为参考,他们在Linux环境中。
答案 0 :(得分:2)
它只是声明一个N
个元素的整数数组,并将其初始化为零。 N
评估的内容由'f' + '9' + 2
表达式确定。如果您使用的是ASCII代码页,则评估为161
,如果您使用的是不同的代码页,则为其他内容。每个字符文字都有相应的整数值,具体取决于所使用的编码。在ASCII代码页中,字符'f'
由多个102
表示,字符'9'
的值为57
。表达式变为102 + 57 + 2
,等于161
。在其他代码页中,这些字符可能具有其他值。相当于:
int deca[161] = { 0 }; // If ASCII code page is used