Identifier Expressions

C++An identifier expression, or id-expression, is a restricted form of primary expression. Syntactically, an id-expression requires a higher level of complexity than a simple identifier to provide a name for all of the language elements of C++.

An id-expression can be either a qualified or unqualified identifier. It can also appear after the dot and arrow operators.

Syntax - id-expression
 
>>-+-| unqualified_id |-+--------------------------------------><
   '-| qualified_id |---'
 
unqualified_id:
 
|--+-identifier-------------+-----------------------------------|
   +-operator_function_id---+
   +-conversion_function_id-+
   +-~--class_name----------+
   '-template_id------------'
 
qualified_id:
 
|--+-::--id-----------------------------------------------------------------------------------------------------+--|
   +-::--operator_function_id-----------------------------------------------------------------------------------+
   +-::--template_id--------------------------------------------------------------------------------------------+
   |         .--------------------------------------.                                                           |
   |         V                                      |                                                           |
   '-+----+----+----------------------------------+-+--class_or_namespace--::--+----------+--| unqualified_id |-'
     '-::-'    +-class_or_namespace--::-----------+                            '-template-'
               '-class_or_namespace--::--template-'
 
 

Related References

IBM Copyright 2003