Почему названия заглавных букв C++ пишутся с заглавной буквы и с подчеркиванием?
Я заметил, что.h файлы имеют заглавные буквы и используют подчеркивание для защиты заголовка.... почему это так?
например взять "doThat.h"
защита заголовка будет:
#ifndef DO_THAT_H
#define DO_THAT_H
почему это так пишется с заглавной буквы? даже если в main.cpp вы только печатаете #include "doThat.h"
использовать файл?? Есть какая-то реальная причина программирования? почему бы просто не набрать:
#ifndef doThat.h
#define doThat.h
2 ответа
Определения препроцессора должны использовать допустимые идентификаторы. Точки не действительны в идентификаторах.
Существует также соглашение, согласно которому определения препроцессора (особенно макросы препроцессора) используют имена в верхнем регистре, чтобы отличать их от непроцессорных идентификаторов. (Однако это не жесткое правило; например, errno
обычно это макрос, но он не в верхнем регистре.)
Это просто соглашение об именах, а не жесткое правило. Это не редкость, чтобы увидеть DOTHAT_H
или же DOTHATH
или же DoThatH
вместо этого, например. Важно то, что #define
используйте уникальный идентификатор, который не конфликтует с другими файлами. Обычно используется некоторая вариация имени вызывающего файла.