2010-07-16 25 views

Respuesta

11

Sí. Todas las clases de cadena provienen de la plantilla de clase basic_string, declarados como tales:

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

Por ejemplo, std::string es sólo typedef basic_string<char> string;.

El tercer parámetro de plantilla es el asignador, por lo que puede hacer algo como:

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

Nota: my_allocator no tiene que ser una plantilla. –

Cuestiones relacionadas