【问题标题】:Setting a custom allocator for strings为字符串设置自定义分配器
【发布时间】:2010-07-16 19:16:38
【问题描述】:

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

【问题讨论】:

    标签: c++ string allocator


    【解决方案1】:

    是的。所有字符串类都来自类模板basic_string,声明如下:

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

    例如,std::string 就是 typedef basic_string&lt;char&gt; string;

    第三个模板参数是分配器,所以你可以这样做:

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

    【讨论】:

    • 注意:my_allocator 不必是模板。
    猜你喜欢
    • 1970-01-01
    • 2013-12-07
    • 1970-01-01
    • 2014-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    相关资源
    最近更新 更多