Typedef is a language construct in C and therefore also in C++.
It has two main purposes:
- To name a complicated (composite) type with a simpler name
- To hide an implementation detail from other parts of implementation - as a handle where the actual type can easily be changed.
The last is especially important in
C++ typedef, where a typedef can be a class member.