一、string容器介绍
string在本质上它是一个类,里面封装了很多不同的函数的指针,区别于c语言中的char*
string在类内封装了Char*,管理这个字符串是一个char*型的容器。这个在任何一本C++类的书籍里面都可以看得到。所以简要说明就可以了。
string内部封装了很多成员方法,例如:插、查、拷、替、删等等。string管理char* 分配的内存,类内自动处理,并不用担心各类越界的问题出现。下面看看如何使用它的一些功能。
二、string构造函数
//构造string类
#include<iostream>
#include<string>
using namepace std;
void test()
{
string s1; //string的默认构造
const char* p="roman"; //使用字符串初始化
string s2(p);//将上面s1里面的内容放到s2里面去
cout<<"s1:"<<s1<<endl;
cout<<"s2:"<<s2<<endl;//打印出s2里面的东西,看看是不是和s1里面一样
string s3(s2);//用s2这个对象可以初始化新创建的s3这个string对象
cout<<"s3"<<s3<<endl;//同样,可以打印出来看看它
string s4(3,'w'); //用三个字符串初始化,如果不出意外打印结果会是:www
//上面的意思是,给s4这个对象赋三个w.//3是个数,w是单个字符,都是可以自己改的。
cout<<"s4"<<s4<<endl;
}
int main()
{
test();
sys("pause");
return 0;
}
三、string容器的赋值操作
步骤:先----初始化、再-----赋值。
这里介绍一个string里面的关键字assign();赋值作用,详情看代码。
#include<iostream>
#include<string>
using namepace std;
void test()
{
string s1;
s1 = "roman";//它是char* l类型的字符串,赋值给当前字符串
cout<<"s1:"<<s1<<endl;
//把s1赋给s2
string s2;
s2 = s1;
cout<<"s2"<<s2<<endl;
//给S3赋值a
string s3;
s3='a';
cout<<"s3"<<s3<<endl;
//利用关键字assign赋值,与上述做对比
string s4;
s4.assign("jack");//把字符串jack赋值给s4
cout<<"s4"<<s4<<endl;
string s5;
s5.assign("jacklove",5 );//括号双引号里面是字符串,外面的5代表,把字符串前五个字符赋给S5。
string s6;
s6.assign(s5);//把s5赋给s6
cout<<"s6"<<s6<<endl;
}
int main()
{
test();
system("pause");
return 0;
}
相对来讲也是比较简单的。