c++ - 为字符串设置自定义分配器

标签 c++ string allocator

我知道我可以使用语法 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/

相关文章:

c++ - SDL 无法创建 OpenGL 窗口

c++ - 为什么是 "std::vector<std::string> &"而不是 "void"?

java - 在 Java 中构建 SQL 字符串的最简洁方法

c++ - libstdc++ 对 std::unordered_map 的支持是否不完整?

c++ - 给定复制构造的要求,如何在 C++11 中编写有状态分配器?

c++ - 在 C++ 中对 200 万个数字进行排序

c++ - 在 xcode 中使用 ITK

string - Swift String 索引 advanceBy 不能采用 int32

ios - XCode8/Swift 不允许我将文本字段的文本设置为等于字符串?

c++ - std::pmr::polymorphic_allocator 的模板参数有什么用途?