Это скорее примитивный тип. Наличие примитивных типов в С-шных языках связано, подозреваю, с наличием автоматической памяти (обычно стека), которую допустимо инициализировать копированием С++ - расширение Си (с точностью но неинтересных отличий). В Си все типы POD (plain old data - типы, допускающие копирование побайтовым копированиеи). С++ просто унаследовал POD и их семантику.
Так что надо ставить вопрос "с чем связано наличие примитивных типов в Си". А это вопрос вроде простой - интегральные типы соответствуют типам процессора, а пользовательские типы данных - простые Sum Types (enum) хорошо мапятся на "массив байт", Structures просто конкатенация её членов, а union - суть кусок памяти sizeof(some_union)=max(sizeof(Xi)), где Xi - i-ый элемент union.
no subject
Date: 2009-09-25 04:11 pm (UTC)С++ - расширение Си (с точностью но неинтересных отличий).
В Си все типы POD (plain old data - типы, допускающие копирование побайтовым копированиеи).
С++ просто унаследовал POD и их семантику.
Так что надо ставить вопрос "с чем связано наличие примитивных типов в Си". А это вопрос вроде простой - интегральные типы соответствуют типам процессора, а пользовательские типы данных - простые Sum Types (enum) хорошо мапятся на "массив байт", Structures просто конкатенация её членов, а union - суть кусок памяти sizeof(some_union)=max(sizeof(Xi)), где Xi - i-ый элемент union.