Go forward to C Defaults.
Go backward to C Constants.
Go up to C.

C++ expressions
...............

   GDB expression handling has a number of extensions to interpret a
significant subset of C++ expressions.

     *Warning:* GDB can only debug C++ code if you compile with the GNU
     C++ compiler.  Moreover, C++ debugging depends on the use of
     additional debugging information in the symbol table, and thus
     requires special support.  GDB has this support *only* with the
     stabs debug format.  In particular, if your compiler generates
     a.out, MIPS ECOFF, RS/6000 XCOFF, or ELF with stabs extensions to
     the symbol table, these facilities are all available.  (With GNU
     CC, you can use the `-gstabs' option to request stabs debugging
     extensions explicitly.)  Where the object code format is standard
     COFF or DWARF in ELF, on the other hand, most of the C++ support
     in GDB does *not* work.

  1. Member function calls are allowed; you can use expressions like

          count = aml->GetOriginal(x, y)

  2. While a member function is active (in the selected stack frame),
     your expressions have the same namespace available as the member
     function; that is, GDB allows implicit references to the class
     instance pointer `this' following the same rules as C++.

  3. You can call overloaded functions; GDB resolves the function call
     to the right definition, with one restriction--you must use
     arguments of the type required by the function that you want to
     call.  GDB does not perform conversions requiring constructors or
     user-defined type operators.

  4. GDB understands variables declared as C++ references; you can use
     them in expressions just as you do in C++ source--they are
     automatically dereferenced.

     In the parameter list shown when GDB displays a frame, the values
     of reference variables are not displayed (unlike other variables);
     this avoids clutter, since references are often used for large
     structures.  The *address* of a reference variable is always
     shown, unless you have specified `set print address off'.

  5. GDB supports the C++ name resolution operator `::'--your
     expressions can use it just as expressions in your program do.
     Since one scope may be defined in another, you can use `::'
     repeatedly if necessary, for example in an expression like
     `SCOPE1::SCOPE2::NAME'.  GDB also allows resolving name scope by
     reference to source files, in both C and C++ debugging (
see Program variables: Variables.).