问题引入在webrtc代码中发现这么一句:
num / sizeof(arr(i))[0]
眼尖的同事指出问题所在,sizeof后面的arr(0),一般来说已经表示获取arr二位数组中第i列的数组,但是这个代码写的诡异,竟然能够编译通过。
这是由于sizeof是运算符,运算符在c++是入门的基础知识,sizeof的运算符等级比()和[]低,如下图所示:
所以在上述代码中,其实编译的执行顺序应该是:
num/ sizeof (a(i)[0])
原文链接:https://blog.csdn.net/WeinKee/article/details/100905291