我知道我可以使用vector<T, Alloc>语法为 vector 设置自定义分配器。有什么办法可以对字符串做同样的事情吗?

最佳答案

是的。所有字符串类都来自类模板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;

关于c++ - 为字符串设置自定义分配器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3268117/

10-11 18:33