◐ Shell
clean mode source ↗

Комментарии — cppreference.com

Материал из cppreference.com

Комментарии служат своего рода документацией, находящейся прямо в коде. При вставке в программу они игнорируются компилятором; комментарии используются в качестве пометок, облегчающих чтение и понимание кода. Хотя специфичная документация не является частью стандарта C++, существуют утилиты, которые разбирают комментарии в документацию различных форматов (пример - Doxygen).

Синтаксис

/* комментарий */ (1)
// комментарий (2)

1) Комментарии в С - стиле (также известны как многострочные комментарии).

2) Комментарии в С++ - стиле (также известны как однострочные комментарии).

Все комментарии удаляются из программы на фазе трансляции 3 заменой каждого комментария одним пробельным символом.

C-стиль

Комментарии в С-стиле обычно используются для комментирования больших блоков текста, однако, они могут использоваться для комментирования отдельных строк. Чтобы вставить комментарий в С-стиле, просто окружите текст символами /* и */; это приведёт к тому, что содержимое комментария будет проигнорировано компилятором. Хотя это и не часть стандарта С++, символы /** и */ часто используются, чтобы обозначить блоки документации; это допустимо, потому что вторая звёздочка обрабатывается, как часть комментария. Комментарии в С-стиле не могут быть вложенными.

C++-стиль

Комментарии в С++ стиле обычно используются для комментирования отдельных строк, однако, несколько комментариев в C++ стиле могут быть размещены совместно в форме многострочного комментария. Комментарии в C++ стиле говорят компилятору игнорировать всё содержимое между // и новой строкой.

Примечания

Поскольку комментарии удаляются до стадии препроцессора, макрос не может использоваться для формирования комментария и незавершённый комментарий в C-стиле не переходит из #include (включённого) файла.

Помимо самого комментирования, существуют и другие способы для исключения исходного кода

#if 0
    std::cout << "Этот код не будет выполнен или даже скомпилирован\n";
#endif

и

if(false) {
    std::cout << "Этот код не будет выполнен\n"
}

Пример

/* Комментарии в С-стиле могут содержать
несколько строк */
/* или всего одну */

/**************
 *  вы можете вставить любое количество символов *, но
 *  вы не можете создать вложенный комментарий
 */

// Комментарии в С++-стиле могут комментировать одну строку

// или они могут
// быть связанными друг с другом

#include <iostream>

int main() {

  // комментарии удаляются перед препроцессингом,
  // поэтому ABC равно "1", а не "1//2134", поэтому будет выведено
  // "1 привет мир"

  #define ABC 1//2134
  std::cout << ABC << " привет мир\n";

  // Код ниже не будет выполнен
  // return 1;

  // Код ниже будет выполнен
  return 0;
}

Вывод:

Смотрите также