首頁 > 後端開發 > C++ > C 多餘的括號有哪些不常見的影響?

C 多餘的括號有哪些不常見的影響?

Susan Sarandon
發布: 2024-10-24 01:18:29
原創
850 人瀏覽過

What Are the Uncommon Effects of Excess Parentheses in C  ?

具有不同效果的額外括號:

C 中的括號通常不會影響程式意義,除非在不常見的情況下:

參數相關名稱查找預防:

括號可以防止函數呼叫中依賴參數的名稱查找(ADL)。雖然 fun(arg) 形式透過 ADL 考慮命名空間範圍的友元函數,但 (fun)(arg) 不考慮,從而允許精確的函數選擇。

逗號運算子啟用:

在清單上下文中 (函數參數、初始值設定項清單),逗號運算子僅適用於括號內。 a, (b, c), d 形式的括號啟用逗號運算符,而 a, b, c, d 則不啟用。

令人煩惱的解析中的歧義解決:

括號可以解決在「令人煩惱的解析」情況下存在歧義,其中構造可以是聲明或表達式。透過將函數式類型強制轉換在括號中,可以將其清楚地識別為表達式,從而避免解析歧義。

decltype 中的引用推導:

額外的括號會影響 decltype 中推導的引用表達式。如果 decltype(e) 的運算元是未計算的左值,則將其括在括號中 (decltype((e))) 會推導出 const 左值參考 (&)。

預處理器巨集錯誤:

括號可以透過控制巨集擴充來防止預處理器巨集中的錯誤。例如,在巨集參數周圍使用括號可以避免運算子優先權問題,而將函數呼叫括在括號中可以防止不必要的巨集替換。

以上是C 多餘的括號有哪些不常見的影響?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板