一、初始化:
在C++中,string是一个标准库类型,也就是说有了标准库,就可以使用string类。下面介绍一下string的初始化方式:
string s1 默认初始化,s1是个空字符串;
string s2 = s1 s2是s1的一个副本
string s2(s1) 等价于s2 = s1
string s3 = “abcd” 赋字符串
string s3(“abcd”) 等价于 s3 = “abcd”
string s4(n,’a’) 把s4初始化为连续n个a组成的字符串例如 string s4(3,’a’),即s4 = “aaa”
除了以上的方式,还可以使用构造函数初始化,规则如下:
string s1( p ,n) s是p指向的数组中前n个字符串的copy。p是字符指针。此数组中至少有n个字符
string s2(s1,pos2) 从s1下标为pos2的位置copy。pos2应大于s1.size(),即大于s1的长度
注意,此处的n,pos2,pos3,length都是无符号整型。string s3(s1,pos3,length) 从s1下标为pos3的位置copy长度为length的字符串。同样pos3应大于s1的长度不管。length值为多少,都只拷贝到s1结束
举例如下:
const char *p = “hello_world!!”; //以空字符结尾的数组
char str[] = {‘h’,’e’,’l’,’l’,’o’}; //不是以空字符结尾的数组
string s = “hello_world”;
string s1(p); &nb