"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Quels sont les effets rares des parenthèses excessives en C++ ?

Quels sont les effets rares des parenthèses excessives en C++ ?

Publié le 2024-11-02
Parcourir:371

What Are the Uncommon Effects of Excess Parentheses in C  ?

Parenthèses supplémentaires avec des effets différents :

Les parenthèses en C n'affectent généralement pas la signification du programme, sauf dans des situations rares :

Recherche de nom en fonction de l'argument Prévention : 

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.

Activation de l'opérateur virgule :

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.

Résolution d'ambiguïté dans les analyses contrariantes :

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 (&).

Erreurs de macro du préprocesseur :

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.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729676997. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

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