Бьерн Страуструп - Язык программирования С++. Главы 2-4
Страница 16. Эквивалентность типов



2.3.9  Эквивалентность типов

Два структурных типа считаются различными даже тогда, когда они имеют
одни и те же члены. Например, ниже определены различные типы:

        struct s1 { int a; };
        struct s2 { int a; };

 В результате имеем:

        s1 x;
        s2 y = x;    // ошибка: несоответствие типов

 Кроме того, структурные типы отличаются  от основных типов, поэтому
 получим:

        s1 x;
        int i = x;    // ошибка: несоответствие типов

 Есть, однако, возможность, не определяя новый тип, задать новое имя
 для типа. В описании, начинающемся служебным словом typedef, описывается
 не переменная указанного типа, а вводится новое имя для типа.
 Приведем пример:

        typedef char* Pchar;
        Pchar p1, p2;
        char* p3 = p1;

 Это просто удобное средство сокращения записи.

 
« Предыдущая статья   Следующая статья »