le typedef était très utile en C quand il fallait déclarer des instances de classe ou de structure avec le mots clef struct ou class (donc ça faisait perdre du temps)...
MAis en C++ c´est vraiment juste une petite commodité.
en gros il suffit de retenir que :
typedef type a changer nouveau_nom;
à partir de là, nouveau_nom est exactement la même chose que le "type à changer".
Exemple :
typedef unsigned short int[20] usint20;
usint20 truc;
truc sera un tableau de 20 cases de unsigned short int.
Mais c´est pas très utiles. C´est vrai que lorsque tu te mets à faire des pointeurs sur des fonctions les types peuvent commencer à devenir très très long, et le typedef se justifie, mais c´est pas très important. (C´est pas très compliqué non plus).