Non male avere uno, ma rende più solo senso per contenitori (come std::vector
), come tutti i contenitori forniscono questo typedef
e un'interfaccia uniforme per accedere ai valori contenuti (begin
/end
, front
/back
), anche se questo è diventato quasi obsoleto in C++ 11 con auto
e decltype
. È comunque più pulito dire some_template<typename container::value_type> ...
.
Questo a sua volta significa che possono essere utilizzati in modo intercambiabile in codice generico (il motivo principale per cui le cose sono state fatte in questo modo). Se ha senso per la tua classe Point
sapere quali sono i valori contenuti, beh, avere quello typedef
. Come ho detto, non fa male. Tuttavia, ho la sensazione che non abbia molto senso per quel particolare esempio.
+1 per l'acquisto di un libro C++ corretto, e quindi facendo una domanda ragionevole – Joe
Triste che al giorno d'oggi è così raro. –