C++ string类的构造函数

string类的构造函数共6个:


size_type-依赖于实现的整型

n_pos-字符串的最大长度

NBTS-(null-byte-terminated string)表示以空字符结束的字符串-传统的C-风格字符串


1>string(const char *s):    //将string对象初始化为C—风格字符串

例:string one("First constructor!");  //one="First constructor!"

2>string(size_type n,char c) //创建一个包含n个元素的string对象,其中每个元素都被初始化为字符c

例:string two(20,'$') ; //two="$$$$$$$$$$$$$$$$$$$$"

3>string(const string &str,string size_type n=npos) //将string对象初始化为对象str中从位置pos开始到结尾的字符,或从位置pos开始的n个字符

例:string three(one,2);  //将three初始化为:one从下标为2的字符到末尾的字符串three="rst constructor!"

     F  i  r  s  t  constructor!

     0 1 2  3 4 5...

例:string three(one,2,3);  //three="rst"

4>string()   //string的默认构造函数

5>string(const char *s,size_type n) //将string对象初始化为s指向的NBTS中的前n个字符,即使超过了NBTS结尾

例:char str[]="How are you?"

string five(str,5);  //five="How a",初始化为字符数组的前5个 字符

例:string five(str,15);  //15>12(strlen(str)), five="How are you?###",补齐到15个

6>template<class Iter> string(Iter begin,Iter end) //将string对象初始化为区间[begin,end)内的字符

例: string six(str+2,str+5);  //six="w a",不包括str+5

例: string six(five+1,five+3) //Error!对象名和数组名不同,不能被看作地址-------------------------------------

      stirng six(&five[1],&five[3])  //Right

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值