通常,2[a]它与a[2]C 相同,并且保证在C和C ++中都是等效的(假定没有运算符重载),因为正如您所指的那样,它分别转换为*(2+a)或*(a+2)。因为加号运算符是可交换的,所以两种形式是等效的。尽管这些形式是等效的,但为了所有神圣的事情(以及将来的维护程序员),请相对于其他形式更喜欢“ a [2]”形式。PS,如果确实在面试中被问到此问题,请代表C / C ++社区进行确切的复仇,并确保您要求面试官列出所有三字母组合序列,作为您给出答案的前提。也许这会使他/她将来不再提出这样的问题(就实际编程而言毫无价值)。在奇怪的情况下,访问员实际上知道所有三个字母组合序列,您总是可以尝试对虚拟基类的销毁顺序提出质疑,就像虚拟思维与日常编程毫无关系一样。