cpp Headers
просто программерам так проще
хотя... можно описывать количеством подчёркиваний степень "системности" и важности константы
Как нетрудно понять, что там внутри - абсолютно неважно. Студия вообще всякую абракадабру трудночитаемую пишет.
но чем длиннее, мнемоничнее и т.д. макро - тем меньше шансов случайно совпасть с каким-нибудь другим. Это раз. И если текст в макро идет большими буквами и с подчеркиваниями, у читающего сразу будет рефлекс: это не переменная какая-нибудь, а макро.
Стандарт гласит:Так что разница между первым вариантом и двумя следующими — допустимость побочных эффектов от конфликтов со стандартной библиотекой.
17.4.3.1.2 Global names [lib.global.names]
1
Certain sets of names and function signatures are always reserved to the implementation:
— Each name that contains a double underscore (__) or begins with an underscore followed by an uppercase letter (2.11) is reserved to the implementation for any use.
— Each name that begins with an underscore is reserved to the implementation for use as a name in the global namespace.
Всяко лучше написать
#pragma onceи не страдать херней.
Это ни капельки не кроссплатформенно (не кросскомпиляторно ).
Оставить комментарий
internet-mail
Допустим, что необходимо создать некий заголовочный файл "filename.h "прежде всего пушут такой каркас:
Народ, кто-нибудь может объяснить функциональную разницу в числе нижних подчеркиваний(нет, одно, два)?