F.2.5 使用右值引用的构造函数(C++(www.cppentry.com)11)
C++(www.cppentry.com)11给string类添加了移动语义。正如第18章介绍的,这意味着添加一个移动构造函数,它使用右值引用而不是左值引用:
|
正如第18章讨论的,three将获取operator + ()创建的对象的所有权,而不是将该对象复制给three,再销毁原始对象。
第二个使用右值引用的构造函数让您能够指定分配器:
调用这两个构造函数中的任何一个后,将存在如下关系:
data( )方法返回一个指针,该指针指向分配的数组副本,该数组的第一个元素是str.data( )指向的;
size( )方法返回str.size()的值;
capacity( )方法返回一个至少等于size( )的值。
