Директива typedef
Директива typedef является по своей сути дефайном/макроопределением, но для типов данных.
Вспомним, что такое обычный дефайн #define –это директива препроцессора, заменяющая простые переменные/фрагменты кода.
typedef по сути аналогичен define (и в ряде случаев может быть заменен), но он позволяет создать «новую» переменную и впоследствии пользоваться этим названием.
Рассмотрим на примере:
typedef const int* p_cInt;
int main()
{
int a=5;
pInt pA=&a; //создаем переменную типа p_сInt
cout<<*pA<<endl;
return 0;
}
Мы создали новую переменную p_cInt, которая является указателем на константное число типа int, теперь мы можем создавать переменные типа p_cInt и не прописывать «const int*».
Наиболее удобно оператор typedef применять совместно с библиотекой STL и «длинными названиями» т.к. улучшается читаемость кода.