c++ primer plus 第16章string 类和标准模板库,6.1.5字符串种类
本节将 string 类看作是基于 char 类型的。事实上,正如前面指出的,string 库实际上是基于一个模板类的:
templateclass Allocator =allocator>basic string...;
模板 basic string有4个具体化,每个具体化都有一个typedef名称:
typedef basic string string; typedef basic stringwstring; typedef basic stringul6string;// C++11 typedef basic stringu32string ;// C++11
这让您能够使用基于类型 wchart、char16t、char32t和char 的字符串。甚至可以开发某种类似字符的类,并对它使用 basic string 类模板(只要它满足某些要求)。traits 类描述关于选定字符类型的特定情况如如何对值进行比较。对于wchart、char16t、char32t和 char 类型,有预定义的 char traits 模板具体化它们都是 traits 的默认值。Allocator 是一个管理内存分配的类。对于各种字符类型,都有预定义的 allocatoi模板具体化,它们都是默认的。它们使用new和delete.