What is typedef declarations in C++?

The typedef keyword in C++ can be used to give a type a new name. For example, you can give a new name of BYTE to unsigned characters −

typedef unsigned char BYTE;

After this type definition, the identifier BYTE can be used as an abbreviation for the type unsigned char, for example −

BYTE  b1, b2;

This will declare 2 variables b1 and b2 of type unsigned char. Typedefs are really useful when you have huge names due to namespaces, class names, etc. For example, if you want a variable of type std::vector<std::pair<int, int>>::iterator multiple times throughout your program. You can just rename it using typedef −

typedef std::vector<std::pair<int, int>>::iterator it_vec_pair;

And use it like −

it_vec_pair it;