Глава 5. Соглашения об именах и комментариях_____________________707
Директива #if проверяет истинность условия — а поскольку 0 всегда ложно, строки между #if и #endif никогда не компилируются. Практика использования #if и ftendif работает для всех компиляторов С и C++, независимо от их отношения к вложенным комментариям.
Комментарии второго типа начинаются знаком //и заканчиваются в конце строки, в которой этот знак появляется, т. е. эти комментарии действуют только на протяжении одной строки. Если же вам надо написать несколько строк комментариев, просто надо начинать каждую новую строку с //:
// этот комментарий занимает // несколько строк
Однострочные комментарии не обязаны занимать всю строку и могут следовать за текстом кода; например:
while (*string && *string != ')') // Цикл продолжается пока не
// найдена закрывающая скобка или //не достигнут конец строки.
{
}
Заметьте также, что комментарии типа // можно включать в комментарии /*.. .*/. Стало быть, если вы ограничитесь использованием в тексте только комментариев типа //, то при отладке вы сможете использовать /*...*/ для того, чтобы закомментировать большие фрагменты текста, не беспокоясь об ошибках компиляции из-за вложенных комментариев:
/*
while (*string && *string != ')') // Цикл продолжается пока не
// найдена закрывающая скобка или // не достигнут конец строки.
{
) */
Применение комментариев к нашему примеру
Теперь, когда мы познакомились с различными типами комментариев в C++, давайте откомментируем наш пример и посмотрим, насколько он станет понятнее и читабельнее.
// Эта функция получает на входе строку (char *string), // представляющую собой пару имя/фамилия в виде (фамилия, имя), // преобразует ее в форму имя фамилия и возвращает результат в // переменной char *result. Обязанность обеспечить нужный объем // памяти для результата лежит на вызывающей функции.