Einfache Typnamen
Ein einfacher Typname ist der Name eines einfachen Typ. Das heißt, ein Typ, der kein Zeiger, Verweis, Array oder Funktionszeiger ist.
class-name
[ :: ] nested-name-specifier type-name
[ :: ] nested-name-specifier template template-id
char
wchar_t
bool
short
int
long
signed
unsigned
float
double
void
auto
decltype ( expression )
Hinweise
Ein einfacher Typname wird von einem geschachtelten Namesspezifizierer qualifiziert und gibt den Namespace oder die enthaltende Klasse an.
int // simple type name
unsigned int // combination of simple type names
MyClass // a class type
class MyClass // class is optional when using the type name
struct MyStruct // the keyword struct is optional in C++
enum MyEnum // the keyword enum is optional in C++
::MyClass // type name at global scope
Outer::Inner // nested type name
::Outer::Inner // nested type names with global scope operator
MyTemplate<int> // a class template
Outer::Inner<int> // an inner class template
Outer<char>::Inner<int> // an inner class template of a template class
::template MyTemplate<int> // using the template keyword
typename MyClass // the typename keyword (only in a template definition)
Die folgende Tabelle zeigt, wie die einfachen Typnamen zusammen verwendet werden können.
Typnamenkombinationen
Typ |
Können angezeigt werden mit |
Kommentare |
---|---|---|
int |
long oder short, jedoch nicht mit beiden. |
Typ int impliziert Typ long int. |
long |
int oder double |
Typ long impliziert Typ long int. |
short |
int |
Typ short impliziert Typ short int. |
signed |
char, short, int oder long |
Typ signed impliziert signed int. Das höchstwertige Bit von Objekten des Typs signed char und von Bitfeldern von Ganzzahltypen mit Vorzeichen wird zum Vorzeichenbit. |
unsigned |
char, short, int oder long |
Typ unsigned impliziert unsigned int. Das höchstwertige Bit von Objekten des Typs unsigned char und von Bitfeldern von Ganzzahltypen ohne Vorzeichen wird nicht als Vorzeichenbit behandelt. |