Namespaces
Variants

Comments

From cppreference.net
C++ language
General topics
Flow control
Conditional execution statements
Iteration statements (loops)
Jump statements
Functions
Function declaration
Lambda function expression
inline specifier
Dynamic exception specifications ( until C++17* )
noexcept specifier (C++11)
Exceptions
Namespaces
Types
Specifiers
constexpr (C++11)
consteval (C++20)
constinit (C++20)
Storage duration specifiers
Initialization
Expressions
Alternative representations
Literals
Boolean - Integer - Floating-point
Character - String - nullptr (C++11)
User-defined (C++11)
Utilities
Attributes (C++11)
Types
typedef declaration
Type alias declaration (C++11)
Casts
Memory allocation
Classes
Class-specific function properties
Special member functions
Templates
Miscellaneous

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

Содержание

Синтаксис

/* комментарий */ (1)
// комментарий (2)
1) Часто известны как "C-стиль" или "многострочные" комментарии.
2) Часто известны как "C++-style" или "однострочные" комментарии.

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

C-стиль

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

C++-стиль

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

Примечания

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

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

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

и

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

Пример

#include <iostream>
/* C-style comments can contain
multiple lines */
/* or just one */
/**************
 *  you can insert any *, but
 *  you can't make comments nested
 */
// C++-style comments can comment one line
// or, they can
// be strung together
int main()
{
    // comments are removed before preprocessing,
    // so ABC is "1", not "1//2134", and "1 hello world"
    // will be printed
#define ABC 1//2134
    std::cout << ABC << " hello world\n";
    // The below code won't be run
    // return 1;
    // The below code will be run
    return 0;
}

Вывод:

1 hello world

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