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:

    //构造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 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

如果帮到你的话点个关注

一起进步交流!!!

你可能感兴趣的:(C++学习笔记,c++,开发语言,visual,studio)