Существует потенциально бесконечное число производных типов, которыестроятся из основных типов следующими способами: массив объектов данного типа, $$R.8.4; функции, имеющие параметры данного типа и возвращающие объекты данного типа, $$R.8.2.5; указатели на объекты или функции данного типа, $$R.8.2.1; ссылки на объекты или функции данного типа, $$R.8.2.2; константы, являющиеся значениями данного типа, $$R.7.1.6; классы, содержащие совокупность объектов различных типов ($$R.9), набор функций для управления этими объектами ($$R.9.3) и и список ограничений на доступ к этим объектам и функциям, $$R.11; структуры, которые являются классами без стандартных ограничений на доступ, $$r.11; объединения, которые являются структурами, способными содержать в разное время объекты различных типов, $$R.9.5; указатели на члены классов, которые задают члены данного типа среди всех объектов данного класса, $$R.8.2.3.В общем случае указанные методы построения объектов могут применятьсярекурсивно, ограничения приведены в $$r.8.2.1, $$R.8.2.4, $$R.8.2.5и $$R.8.2.2. Про указатель на объекты типа T говорят "указатель на на T". Например,про указатель на объект типа int говорят "указатель на int", ауказатель на объект класса X называется "указатель на X". Объекты типа void* (указатель на void), const void* иvolatile void* могут использоваться как указатели на объектынеизвестного типа. Объект типа void* должен иметь достаточно памяти,чтобы хранить указатель на любой объект. Все фрагменты руководства, говорящие об "указателях", не относятсяк указателям на члены, за исключением указателей на статическиечлены.