cpp/language/punctuators

These are the punctuation symbols in C++. The meaning of each symbol is detailed in the linked pages.

{{tt|{}} }

 * In a or  definition, delimit the.
 * In an definition, delimit the enumerator list.
 * Delimit a . The compound statement may be part of
 * a
 * a
 * a
 * a


 * In, delimit the initializers.
 * In a, delimit the namespace body.
 * In a, delimit the declarations.
 * In a, delimit the requirements.
 * In a, delimit the expression.
 * In an, delimit the declarations.


 * ; part of in.
 * Part of in a  or a  (e.g. in a ).
 * Part of operator in operator overloading (allocation function).
 * Part of operator in  and operator overloading (deallocation function).
 * In a, delimit the.
 * In an, delimit the attributes.
 * In a, delimit the identifier list.


 * Introduce a preprocessing directive.
 * The preprocessing operator for stringification.


 * The preprocessing operator for token pasting.


 * In an expression,.
 * ; part of in.
 * In a, delimit the expression/initializers.
 * In a, , , or , delimit the expression.
 * In a, expression, delimit the operand.
 * In a, delimit the placement arguments.
 * In a, optionally delimit the type-id.
 * In a, delimit the initializers.
 * In a, delimit the type-id.
 * In a or a, indicate grouping.
 * Delimit the parameter list in
 * a (in a  or a )
 * a
 * a
 * a


 * In, delimit the initializers.
 * In an, delimit the string literal.
 * In a, delimit the initializers to a base or member.
 * In an, , , , or  statement, delimit the controlling clause.
 * In a, delimit the parameter declaration.
 * In a function-like macro definition, delimit the macro parameters.
 * In a function-like macro invocation, delimit the macro arguments or prevent commas from being interpreted as argument separators.
 * Part of a preprocessing operator.
 * In a declaration, delimit the operands.
 * In a specifier,  specifier,  specifier, delimit the operand.
 * In an, delimit the attribute arguments.
 * Part of specifier.
 * Delimit a.
 * Part of replacement in a variadic macro definition.


 * Indicate the end of
 * a (including the init-statement of a for statement)
 * a or
 * a, import declaration, global module fragment introducer, or private module fragment introducer
 * a


 * Separate the second and third clauses of a.


 * Part of.
 * Part of.
 * In the class-head of a, introduce the.
 * Part of in member specification.
 * In a, introduce the width.
 * In a definition, introduce the member initializer list.
 * In a statement, separate the range-declaration and the range-initializer.
 * Introduce an, which specifies the underlying type of the enum.
 * In an, separate the attribute-using-prefix and the attribute list.
 * In a or import declaration of module partition, introduce the module partition name.
 * Part of a private module fragment introducer.


 * In the of a function declarator, signify a.
 * In a, signify catch-all handler.
 * In a macro definition, signify a variadic macro.
 * Indicate declaration and expansion.


 * Part of.


 * Scope resolution operator in
 * a
 * a
 * a or  expression, to indicate that only global allocation or deallocation functions are looked up


 * In an, indicate attribute scope.
 * Part of.


 * In, introduce a designator.
 * Part of.
 * Part of.


 * ; part of in.
 * In a or, introduce the trailing return type.
 * In a, introduce the result type.
 * In a, introduce the return type requirement.


 * ; part of in.


 * ; part of in.
 * Part of an id-expression to name a or pseudo-destructor.


 * ; part of in.
 * Part of.


 * ; part of in.
 * ; part of in.


 * ; part of in.
 * ; part of in.


 * ; part of in.
 * ; part of in.
 * Pointer operator or part of pointer-to-member operator in a or in a.
 * Part of in a  list, to capture the current object by copy.


 * ; part of in.


 * ; part of in.


 * ; part of in.


 * ; part of in.
 * ; part of in.
 * Lvalue-reference operator in a or in a.
 * In a, indicate by-reference capture.
 * in.


 * ; part of in.


 * ; part of in, which might be a special member function.
 * In, indicate.
 * In a, introduce a.
 * In a, introduce a.
 * In a, separate the alias and the aliased namespace.
 * In an, introduce the value of enumerator.
 * Part of pure-specifier in a.
 * Capture default in, to indicate by-copy capture.
 * Part of defaulted definition or deleted definition  in.
 * In a, separate the alias and the aliased type.
 * In a, separate the concept name and the constraint expression.


 * ; part of in.


 * ; part of in.


 * ; part of in.


 * ; part of in.


 * ; part of in.


 * ; part of in.


 * ; part of in.


 * ; part of in.

{{tt|{{
}}}}===
 * ; part of in.


 * ; part of in.


 * ; part of in.
 * In a, , , or , introduce the type-id.
 * Introduce a.
 * Introduce a in
 * a
 * a
 * a


 * Part of in.
 * Introduce a header name in
 * a directive
 * a preprocessing expression
 * an


 * ; part of in.
 * ,, , or , indicate the end of type-id.
 * Indicate the end of a.
 * Indicate the end of a in
 * a
 * a
 * a


 * Part of in.
 * Indicate the end of a header name in
 * a directive
 * a preprocessing expression
 * an


 * ; part of in.


 * ; part of in.


 * ; part of in.


 * ; part of in.
 * Rvalue-reference operator in a or in a.
 * in.


 * ; part of in.


 * ; part of in operator overloading ( or ).


 * ; part of in operator overloading ( or ).
 * Can be reparsed as two in a, , , or , a , or a.


 * ; part of in.


 * ; part of in.


 * ; part of in.


 * ; part of in.


 * ; part of in.
 * List separator in
 * the declarator list in a
 * initializer list in
 * the placement argument list in a
 * the argument list in a
 * the argument list in a
 * the enumerator list in an declaration
 * the list in a  declaration
 * the member initializer list in a definition
 * a
 * a
 * a
 * the macro parameter list in a function-like macro definition
 * the macro argument list in a function-like macro invocation, unless found between an inner set of parentheses
 * a list
 * an list
 * the declarator list in a
 * the identifier list in a declaration


 * In a declaration, separate the arguments.