[dcl.name] (original) (raw)
To specify type conversions explicitly,and as an argument ofsizeof,alignof,new, ortypeid, the name of a type shall be specified.
This can be done with atype-id, which is syntactically a declaration for a variable or function of that type that omits the name of the entity.
It is possible to identify uniquely the location in theabstract-declaratorwhere the identifier would appear if the construction were a declarator in a declaration.
The named type is then the same as the type of the hypothetical identifier.
[Example 1:
int int * int *[3] int (*)[3] int *() int (*)(double) name respectively the types “int”, “pointer toint”, “array of 3 pointers toint”, “pointer to array of 3int”, “function of (no parameters) returning pointer toint”, and “pointer to a function of (double) returningint”.
— _end example_]