Установка пользовательского распределителя для строк - PullRequest
9 голосов
/ 16 июля 2010

Я знаю, что могу установить собственный распределитель для векторов, используя синтаксис vector<T, Alloc>. Есть ли способ, которым я могу сделать то же самое для строк?

1 Ответ

12 голосов
/ 16 июля 2010

Да. Все строковые классы происходят из шаблона класса basic_string, объявленного так:

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

Например, std::string - это просто typedef basic_string<char> string;.

Третий параметр шаблона - это распределитель, поэтому вы можете сделать что-то вроде:

typedef basic_string<char, char_traits<char>, my_allocator<char> > my_string;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...