From cppreference.com
Comments serve as a sort of in-code documentation. When inserted into a program, they are effectively ignored by the compiler; they are solely intended to be used as notes by the humans that read source code. Although specific documentation is not part of the C++ standard, several utilities exist that parse comments with different documentation formats.
Syntax
/*multi-line-content*/(1) //single-line-content(2) 1) Often known as “C-style” or “multi-line” comments.
2) Often known as “C++-style” or “single-line” comments.
multi-line-content- A character sequence which does not contain the character sequence */single-line-content- A character sequence which does not contain any new line character All comments are removed from the program at
by replacing each comment with a single whitespace character.
C-style
C-style comments are usually used to comment large blocks of text, however, they can be used to comment single lines. To insert a C-style comment, simply surround text with /* and */; this will cause the contents of the comment to be ignored by the compiler.
C-style comments cannot be nested:
/************************/* Comment ends here -> */************************/// <- Not part of commentC++-style
C++-style comments are usually used to comment single lines. However, multiple C++-style comments can be placed together to form multi-line comments. C++-style comments tell the compiler to ignore all content between // and a new line.
Notes
Although it is not part of the C++ standard, /** and */ are often used to indicate documentation blocks. This is legal because the second asterisk is simply treated as part of the comment.
Because comments
before the preprocessor stage, a macro cannot be used to form a comment and an unterminated C-style comment doesn't spill over from an #include'd file.
Besides commenting out, other mechanisms used for source code exclusion are
#if 0 std::cout << "this will not be executed or even compiled\n";#endifand
if(false){std::cout<<"this will not be executed\n";}Example
Run this code
#include<iostream>/* C-style comments can containmultiple 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 togetherintmain(){// comments are removed before preprocessing,// so ABC is "1", not "1//2134", and "1 hello world"// will be printed#define ABC 1//2134std::cout<<ABC<<" hello world\n";// The below code won't be run// return 1;// The below code will be runreturn0;}Output:
1 hello world Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR Applied to Behavior as published Correct behavior
C++98 if single-line-content contains a form-feed or a vertical-tab
character, only whitespace characters are allowed till the end remove the
restriction See also