· организовывать условную компиляцию, т.е. в зависимости от заданных в командной строке или среде параметров получать различный программный код. Условная компиляция также помогает повышать мобильность программ. Общий вид секции условной компиляции:
#if логическое_выражение_1
TRUE-секция_1
#else
#elif логическое_выражение_2
TRUE-секция_2
…
#elif логическое_выражение_N
TRUE-секция_N
#else
FALSE-секция
#endif
Разделители
Компилятор, выполняя лексический анализ программы на языке С++, для распознания начала и (или) конца лексем использует разделители.
Функции разделителей:
· обозначение места начала и конца лексем;
· исключение из компиляции всех избыточных символов, не входящих в состав лексем.
Разделители лексем:
• Пробельные разделители
• Знаки операций (они сами есть лексемы)
• Знаки пунктуации (они сами есть лексемы)
Пробельные разделители
К пробельным разделителям относятся неизображаемые символы и комментарии. Пробельные разделители не обрабатываются компилятором и игнорируются им.
В общем случае пробельных разделителей может быть произвольное число (как ни одного, так и любое их количество). Хороший стиль предполагает наличие хотя бы одного такого символа после каждой лексемы.
Комментарий не является лексемой и трактуется компилятором как пробельный разделитель. Многострочный комментарий отмечается символами “/*” в начале и “*/” в конце выделяемого текста. Признаком однострочного комментария являются символы ”//” в начале строки программы. Однострочный комментарий удобно использовать как пояснение к тексту оператора. Например:
int a; // текст, поясняющий назначение переменной
Символы комментария необходимо отделять от текста программы пробелом. В противном случае, текст программы может неправильно интерпретироваться компилятором.