F.2 数据信息、构造函数及其他(2)

2013-10-07 15:47:33 · 作者: · 浏览: 78

F.2  数据信息、构造函数及其他(2)

C++(www.cppentry.com)11中,模板类basic_string有11个构造函数(在C++(www.cppentry.com)98中只有6个)和一个析构函数:

 
有些新增的构造函数以不同的方式处理参数。例如,C++(www.cppentry.com)98包含如下复制构造函数:
 

而C++(www.cppentry.com)11用三个构造函数取代了它-上述列表中的第2~4个,这提高了编码效率。真正新增的只有移动构造函数(使用右值引用的构造函数,这在第18章讨论过)以及使用initializer_list参数的构造函数。

注意到大多数构造函数构造函数都有一个下面这样的参数:

 

Allocator是用于管理内存的allocator类的模板参数名;Allocator( )是这个类的默认构造函数。因此,在默认情况下,构造函数将使用allocator对象的默认版本,但它们使得能够选择使用allocator对象的其他版本。下面分别介绍这些构造函数。