C の括弧は、特殊な状況を除いて通常プログラムの意味に影響を与えません:
かっこを使用すると、関数呼び出しにおける引数依存の名前検索 (ADL) が防止される場合があります。 fun(arg) 形式は ADL 経由で名前空間スコープのフレンド関数を考慮しますが、(fun)(arg) は考慮しないため、正確な関数選択が可能です。
リスト コンテキスト内 (関数の引数、初期化子リストなど)、カンマ演算子はかっこ内でのみ適用されます。 a、(b、c)、d の形式のかっこはカンマ演算子を有効にしますが、a、b、c、d は有効にしません。
かっこは解決できます「厄介な解析」状況でのあいまいさ。構成要素が宣言または式のいずれかになる可能性があります。関数スタイルの型キャストを括弧で囲むことにより、式として明確に識別でき、解析のあいまいさを回避できます。表現。 decltype(e) のオペランドが未評価の左辺値である場合、それを括弧で囲む (decltype((e))) と、const 左辺値参照 (&) が推定されます。
かっこを使用すると、マクロの展開を制御することにより、プリプロセッサ マクロでのエラーを防ぐことができます。たとえば、マクロ パラメーターを括弧で囲むと演算子の優先順位の問題が回避され、関数呼び出しを括弧で囲むと不要なマクロ置換が防止されます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3