C++运算符优先级特例
C++运算符优先级特例
在static_cast<int64_t*>(output.data.data())[i]当中,如果按照运算符优先级来看,那么后缀>前缀,output.data.data()应该先和[i]才对,但这里是:
output.data.data()先被static_cast<int64_t*>转换数据类型,然后再与后面的下标结合,成为一个合法的下标访问操作
在static_cast<int64_t*>(output.data.data())[i]当中,如果按照运算符优先级来看,那么后缀>前缀,output.data.data()应该先和[i]才对,但这里是:
output.data.data()先被static_cast<int64_t*>转换数据类型,然后再与后面的下标结合,成为一个合法的下标访问操作
