9

構文を使用して、ベクトルのカスタムアロケータを設定できることはわかっていますvector<T, Alloc>。文字列に対して同じことができる方法はありますか?

4

1 に答える 1

12

はい。basic_stringすべての文字列クラスは、次のように宣言されたクラステンプレートから取得されます。

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

たとえば、std::stringはだけですtypedef basic_string<char> string;

3番目のテンプレートパラメータはアロケータなので、次のようなことができます。

typedef basic_string<char, char_traits<char>, my_allocator<char> > my_string;
于 2010-07-16T19:19:40.787 に答える