2010-07-16 6 views

risposta

11

Sì. Tutte le classi di stringhe provengono dal modello di classe basic_string, dichiarati come tali:

template <class charT, class traits = char_traits<charT>, 
      class Allocator = allocator<charT> > 
class basic_string; 

Per esempio, std::string è solo typedef basic_string<char> string;.

Il terzo parametro di modello è l'allocatore, in modo da poter fare qualcosa di simile:

typedef basic_string<char, char_traits<char>, my_allocator<char> > my_string; 
+3

Nota: my_allocator non deve essere un modello. –