Бьерн Страуструп - Язык программирования С++. Главы 2-4 - Эквивалентность типов
ОГЛАВЛЕНИЕ
Страница 17 из 69
2.3.9 Эквивалентность типов
Два структурных типа считаются различными даже тогда, когда они имеют одни и те же члены. Например, ниже определены различные типы:struct s1 { int a; };В результате имеем:
struct s2 { int a; };
s1 x;Кроме того, структурные типы отличаются от основных типов, поэтому получим:
s2 y = x; // ошибка: несоответствие типов
s1 x;Есть, однако, возможность, не определяя новый тип, задать новое имя для типа. В описании, начинающемся служебным словом typedef, описывается не переменная указанного типа, а вводится новое имя для типа.
int i = x; // ошибка: несоответствие типов
Приведем пример:
typedef char* Pchar;Это просто удобное средство сокращения записи.
Pchar p1, p2;
char* p3 = p1;