Maison > développement back-end > C++ > le corps du texte

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

Susan Sarandon
Libérer: 2024-10-24 01:18:29
original
820 Les gens l'ont consulté

What Are the Uncommon Effects of Excess Parentheses in C  ?

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

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 d'un argument (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.

Déduction de la référence dans decltype :

Des parenthèses supplémentaires peuvent affecter la référence déduite dans decltype 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 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 macros indésirables.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal