Go forward to Basic Cplusplus Types.
Go backward to Class Names.
Go up to Cplusplus.

Defining a Symbol Within Another Type
=====================================

   In C++, a symbol (such as a type name) can be defined within another
type.

   In stabs, this is sometimes represented by making the name of a
symbol which contains `::'.  Such a pair of colons does not end the name
of the symbol, the way a single colon would (see String Field.).
I'm not sure how consistently used or well thought out this mechanism
is.  So that a pair of colons in this position always has this meaning,
`:' cannot be used as a symbol descriptor.

   For example, if the string for a stab is `foo::bar::baz:t5=*6', then
`foo::bar::baz' is the name of the symbol, `t' is the symbol
descriptor, and `5=*6' is the type information.