资源描述:
《第4章 c++ 标准库stl string类》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章内容回顾类的定义成员成员函数保护数据封装构造函数与类同名析构函数重载构造函数默认参数构造函数对象创建过程1第四章C++标准库STL中的string类2第4章String类与字符串流处理C++标准库中的String类String的特性String的构造函数,求属性函数String的赋值,连接,比较,子串,交换String的查找,替换,插入String到char的转换String迭代器3C++标准库中的String类C++模板类basic_string提供了字符串基本操作。C++定义了别名:stringtypedefbas
2、ic_stringstringstring定义在头文件中4C++标准库中的String类String类对象可以调用basic_string的构造函数,复制构造函数,以及其它成员函数,包括:strcmp,strcpy,strcat,strlen等。C与C++中串定义的不同:C中为字符指针char,是指针.字符串以‘ ’结尾,用于标识串结束。C++中string为一个类的别名,实质为类,不以‘ ’结尾,长度放于属性length中.它不是指针String的第一个下标为0,最后一个为length-15
3、第4章String类与字符串流处理C++标准库中的String类String的特性String的构造函数,求属性函数String的赋值,连接,比较,子串,交换String的查找,替换,插入String到char的转换String迭代器6String特性string类的属性,包括:string中字符个数--尺寸:sizestring本次不增加内存,能存放元素的总数--容量:capacitystring对象中可以存放string的最大长度--最大长度:max_sizestring类的成员函数,包括:构造函数,求属性,赋值,连接,
4、比较,求子串,交换串,寻找字符,替换字符,插入字符,转换为char串,串流处理7第4章String类与字符串流处理C++标准库中的String类String的特性String的构造函数,求属性函数String的赋值,连接,比较,子串,交换String的查找,替换,插入String到char的转换String迭代器8String类的构造函数String对象的构造:调用构造函数strings1("hello");strings1(8,‘x’);//产生8个x的串strings1="hello";strings2(s1);//复制
5、构造函数strings3;//默认构造函数,空串9String类的求属性函数#include#includeusingnamespacestd;intmain(){strings(“tomato”);cout<<“capacity:”<6、0运行结果:capacity:31Max_size:4294967293Size:6Length:6Empty:false11第4章String类与字符串流处理C++标准库中的String类String的特性String的构造函数,求属性函数String的赋值,连接,比较,子串,交换String的查找,替换,插入String到char的转换String迭代器12String的赋值,连接Strings1(“cat”),s2,s3s2=s1;----s2:“cat”s3.assign(s1);----s3:“cat”s2[2]=
7、‘p’;----s2:“cap”s3.at(0)=‘p’----s3:“pat”[]运算不做越界检查,越界不报错at()做越界检查,越界报错s2=s2+“isgood!”---s2:capisgood!s1.append(“iswhite”)---s1:catiswhites3.append(s2,3,s2.size())---s3:patisgood!13String的比较Strings1(“cat”),s2(“cap”),s3(“catcap”)if(s1==s2)cout<<“true”;elsecout<<“fals
8、e”’---falseintf=s1.compare(s2);if(f==0)cout<<“s1==s2!”;elseif(f>0)cout<<“s1>s2!”;elseif(f<0)cout<<“s1s2!14String的比较Strings1(“cat”),s2