【发布时间】:2010-07-16 19:16:38
【问题描述】:
我知道我可以使用语法vector<T, Alloc> 为向量设置自定义分配器。有没有办法对字符串做同样的事情?
【问题讨论】:
我知道我可以使用语法vector<T, Alloc> 为向量设置自定义分配器。有没有办法对字符串做同样的事情?
【问题讨论】:
是的。所有字符串类都来自类模板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;
【讨论】: