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*>
轉換資料型別,然後再與後面的下標結合,成為一個合法的下標訪問操作