C++ string类7个构造函数大全(示例极易理解)

目录

    //构造1    //string(const char *s)//初始为c风格字符串

    //构造2    //string(size_type n,char c) string对象被初始化为n个字符c

    //构造3    ///string(const string &string) 将string对象初始化为string对象str

    //构造4    //string()默认构造

    //构造5    //string(const char *s,size_type n)将string对象初始化为s指向的前n个字符

    //构造6    //template string(Iter begin,Iter end)

    //构造6again

    //构造7    //string(const string &str,string size_type pos=0,size_type n=npos)    //将string对象初始化为str从pos(包括)开始的n个字符子字符串


C++11新增两个构造函数,有兴趣的小伙伴可以自行查阅。

废话不多说,上代码

    //构造1
    //string(const char *s)//初始为c风格字符串

	string s1("I am the best 1");
	cout << "s1:" << s1 << endl;

输出:s1:I am the best 1

    //构造2
    //string(size_type n,char c) string对象被初始化为n个字符c

	string s2(20, '$');
	cout << "s2:" << s2 << endl;
输出:s2:$$$$$$$$$$$$$$$$$$$$

    //构造3
    ///string(const string &string) 将string对象初始化为string对象str

	string s3(s1);
	cout << "s3:" << s3 << endl;

输出:s3:I am the best 1

    //构造4
    //string()默认构造

	string s4;
	cout << "s4:" <<s4<<endl;

输出:s4:

    //构造5
    //string(const char *s,size_type n)将string对象初始化为s指向的前n个字符

	char c[] = "0123456789";
	string s5(c,5);//0->4
	cout << "s5:" << s5 << endl;

输出:s5:01234

    //构造6
    //template<class Iter> string(Iter begin,Iter end)

	char c2[]= "0123456789";
	string s6(c2 + 1, c2 + 7);
	cout << "s6:" << s6 << endl;

输出:s6:123456

    //构造6again

	string temp ("0123456789");
	string s6_again(&temp[0], &temp[9]);//由于对象名不是地址,因此需要加取地址符
	cout << "s6_again:" << s6_again << endl;

输出:s6_again:012345678

    //构造7
    //string(const string &str,string size_type pos=0,size_type n=npos)
    //将string对象初始化为str从pos(包括)开始的n个字符子字符串

	string c4("0123456789");
	string s7(temp, 0, 5);
	cout << "s7:" << s7<< endl;

输出:s7:01234

如果帮到你的话点个关注

一起进步交流!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值