2010-07-16 5 views

Antwort

11

Ja. Alle String-Klassen kommen aus der Klassenvorlage basic_string, als solche deklariert:

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

Zum Beispiel ist std::string nur typedef basic_string<char> string;.

Der dritte Template-Parameter ist der Zuordner, so dass Sie so etwas wie zu tun:

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

Hinweis: my_allocator keine Vorlage zu sein braucht. –