Les parenthèses en C n'affectent généralement pas la signification du programme, sauf dans des situations rares :
Les parenthèses peuvent empêcher la recherche de nom dépendante des arguments (ADL) dans les appels de fonction. Alors que la forme fun(arg) prend en compte les fonctions amies de portée d'espace de noms via ADL, (fun)(arg) ne le fait pas, permettant une sélection précise des fonctions.
Dans les contextes de liste ( arguments de fonction, listes d'initialisation), l'opérateur virgule s'applique uniquement entre parenthèses. Les parenthèses de la forme a, (b, c), d activent l'opérateur virgule, tandis que a, b, c, d ne le font pas.
Les parenthèses peuvent résoudre ambiguïté dans les situations « d'analyse contrariante », où une construction peut être soit une déclaration, soit une expression. En entourant un type de style fonction entre parenthèses, il peut être clairement identifié comme une expression, évitant ainsi toute ambiguïté d'analyse. expressions. Si l'opérande de decltype(e) est une lvalue non évaluée, le mettre entre parenthèses (decltype((e))) en déduit une référence de const lvalue (&).
Les parenthèses peuvent éviter les erreurs dans les macros du préprocesseur en contrôlant l'expansion des macros. Par exemple, l'utilisation de parenthèses autour des paramètres de macro évite les problèmes de priorité des opérateurs, et le fait de placer les appels de fonction entre parenthèses protège contre les substitutions de macro indésirables.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3