«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Каковы необычные последствия лишних круглых скобок в C++?

Каковы необычные последствия лишних круглых скобок в C++?

Опубликовано 2 ноября 2024 г.
Просматривать:811

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(e) является невычисленное lvalue, то заключение его в круглые скобки (decltype((e))) выводит константную ссылку на lvalue (&).

Ошибки макросов препроцессора:

Круглые скобки могут предотвратить ошибки в макросах препроцессора, управляя расширением макросов. Например, использование круглых скобок вокруг параметров макроса позволяет избежать проблем с приоритетом операторов, а заключение вызовов функций в круглые скобки защищает от нежелательных подстановок макросов.

Заявление о выпуске Эта статья перепечатана по адресу: 1729676997. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3