设为首页 加入收藏

TOP

F.2.4 使用左值引用的构造函数
2013-10-07 15:48:31 来源: 作者: 【 】 浏览:78
Tags:F.2.4 使用 左值 引用 构造 函数

F.2.4  使用左值引用的构造函数

复制构造函数类似于下面这样:

 
它使用一个string参数初始化一个新的string对象:
 


其中,ida将是mel管理的字符串副本。

下一个构造函数要求您指定一个分配器:

 

调用这两个构造函数中的任何一个后,将存在如下关系:

data( )方法返回一个指针,该指针指向分配的数组副本,该数组的第一个元素是str.data( )指向的;

size( )方法返回str.size()的值;

capacity( )方法返回一个至少等于size( )的值。

再下一个构造函数让您能够指定多项内容:

 
第二个参数(pos)指定了源字符串中的位置,将从这个位置开始进行复制:
 

位置编号从0开始,因此,位置4是字符p。所以,et被初始化为"phone home"。

第3个参数n是可选的,它指定要复制的最大字符数目,因此下面的语句将pt初始化为字符串"phone":

 

然而,该构造函数不能跨越源字符串的结尾,例如,下面的语句将在复制句点后停止:

 

因此,该构造函数实际复制的字符数量等于n和str.size( )-pos中较小的一个。

该构造函数要求pos不大于str.size( ),也就是说,被复制的初始位置必须位于源字符串中。如果情况并非如此,该构造函数将引发out_of_range异常;否则,该构造函数被调用后,copy_len将是n和str.size( )-pos中较小的一个,并存在下面的关系:

data( )方法返回一个指向字符串的指针,该字符串包含copy_len个元素,这些元素是从str的pos位置开始复制而得到的;

size( )方法返回copy_len;

capacity( )方法返回一个不小于size( )的值。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇G.5.3 排序和相关操作(7) 下一篇F.2.7 使用区间的构造函数

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Shell 传递参数 (2025-12-25 00:50:45)
·Linux echo 命令 - (2025-12-25 00:50:43)
·Linux常用命令60条( (2025-12-25 00:50:40)
·nginx 监听一个端口 (2025-12-25 00:19:30)
·整个互联网就没有一 (2025-12-25 00:19:27)