| 13. Почему в макросах, сделанных «настоящими» программистами, так много круглых скобок? |
|
|
| Автор ARV | |||||||||||||||||||||||||||||||
| 18.12.2009 г. | |||||||||||||||||||||||||||||||
|
Опытные программисты помнят, что макрос - это всего лишь текстовая автоподстановка, никак не контролируемая ни компилятором, ни чем-то еще. Поэтому наличие скобок даже там, где с первого взгляда они совершенно бессмысленны, позволяет избежать массы проблем. Рассмотрим простой макрос: #define sq(x) x*x Задумка была такова: получить квадрат значения х. А теперь рассмотрим, что получится при использовании этого макроса в разных случаях:
Если бы макрос был записан с «лишними» скобками, то результат был бы совсем иным: #define sq(x) ((x)*(x))
Вывод: в определениях макросов скобки лишними не бывают! Добавить в любимые (0) | Просмотров: 10235
Только зарегистрированные пользователи могут оставлять коментарии. |
|||||||||||||||||||||||||||||||
| « Пред. |
|---|
R785211844650
Z210696637574
E368177590409



Коментарии (3)