簡體   English   中英

為什么static_cast等運營商有優先級?

[英]Why is there a level of precedence for operators such as static_cast?

根據cppreference.com,C ++ static_cast運算符的優先級為2

為什么這些級別甚至被定義? 我想不出任何理由。 誰能提供一個例子?

該標准沒有定義優先級; 這些可以從語法中得出

像任何其他語法特征一樣, static_cast在這個語法中占有一席之地。 因為它的使用需要括號,所以它的操作數表達式永遠不會是模糊的,但這只意味着從語法中打擾它的優先級是沒有意義的,而不是它在語法本身中的位置是沒有意義的。 因此標准在這里沒有什么瘋狂的。

毫無意義的是,您引用的任何來源都列出了static_cast的優先級。 沒錯 ,它毫無意義。

C ++強制轉換運算符的優先級為2

誰說的? 標准沒有定義運算符優先級。 它以類似BNF的表示法定義語法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM