Skip to main content
A multi-line comment in C++ is a lexical construct that instructs the compiler to ignore a sequence of characters spanning one or more lines. During the lexical analysis phase, the C++ preprocessor replaces the entire comment block with a single whitespace character, effectively stripping it from the translation unit before compilation.

Syntax

Multi-line comments are enclosed by a starting /* token and a terminating */ token. Every character between these two delimiters is ignored by the compiler.

Lexical Rules and Behavior

1. Inline Placement Because multi-line comments have explicit termination tokens, they can be placed inline within a single statement. They are valid anywhere a whitespace character is valid, provided they do not split a single language token (such as an identifier or a keyword).
2. No Nesting Standard C++ does not support nested multi-line comments. The lexical scanner operates sequentially and terminates the comment block at the very first */ sequence it encounters, regardless of how many /* sequences preceded it. Attempting to nest these comments leaves trailing text exposed to the compiler.
3. Interaction with Single-line Comments The C++ tokenizer processes comment initiators based on whichever appears first. If a multi-line comment initiator (/*) appears after a single-line comment initiator (//) on the same line, it is treated as standard text within the single-line comment and does not begin a multi-line comment block. Conversely, a // sequence inside a /* ... */ block has no special meaning and is ignored.
4. String Literal Exception The compiler’s tokenizer prioritizes string and character literals. If the /* or */ sequences appear within double quotes (" ") or single quotes (' '), they are evaluated as standard character data rather than comment delimiters.
5. Line Splicing If a multi-line comment delimiter is split using a line-continuation character (a backslash \ immediately followed by a newline), the preprocessor will splice the lines together before tokenization, successfully forming the comment delimiter.
Tired of Poor C++ Skills? Fix That With Deep Grasping!Learn More