STL之string基础知识

头文件:#include<string>
(一)、构造函数
1>string();无参构造
2>string(int length,char ch);用length个字符ch初始化string对象
3>string(const char *str);字符串str初始化
4>string(const char *str,int length);用字符串的前length个初始化
5>string(string &str,int index,int length);用对象str中间的几个字符(从第index个开始后的length个字符)初始化

6>string(const string &str);拷贝构造

(二)、属性
1>capacity();容量
vs2005默认是15个,每次超载就多申请16个;vc++6.0默认是31个,每次超载增加32个
2>reserve();修改容量
只能变大不能变小
3>length();字符串长度
4>size();字符个数

5>resize();重新设置字符个数

(三)、输出
1>重载输出运算符:<<
2>c_str();返回值是首个字符的地址
3>重载下标运算符:[]

4>at();例子:string str; str.at(2)=str[2];

(四)、修改
(1)、修改指定元素
1>[]:下标运算
2>at();
(2)、中间插入insert()
1>string &insert(int index,string &str);在index位置插入string对象str
2>string &insert(int index,char *str);在index位置插入字符串str
3>string &insert(int index1,string &str,int index2,int num);
在index1位置插入另一个对象的一段
4>string &insert(int index,char *str,int num);在index位置插入字符串str的前num个
5>string &insert(int index,int num,char ch);在index位置插入num个字符ch
(3)、尾部插入
1>重载运算符:+= 拼接string对象或字符串
2>string &appand(const string &str);尾部通过一个对象拼接
3>string &appand(const char *str);尾部通过一个字符串拼接
4>string &appand(const string &str,int index,int len);拼接对象的某一段
5>string &appand(const char *str,int num);拼接字符串的前几个
6>string &appand(int num,char ch);拼接num个字符ch
(4)、重新赋值
1>重载赋运算符:= 用string对象或字符串
2>重载运算符:>> 用 cin>> 即可
3>string &assign(const string &str);用对象赋值
4>string &assign(char *str);用字符串赋值
5>string &assign(const string &str,int index,int len);用中间几个赋值
6>string &assign(char *str,int num);用字符串前几个赋值
7>string &assign(int num,char ch);用num个ch赋值
(5)、删除

1>string &erase(int index,int num);删除指定位置开始的指定个数

(五)、操作函数
(1)、比较
1>重载比较运算符:<,>,==,<=,>=,!= 返回值是1或者0
2>int compare(string &str);和另一个对象比较:长于str返回值为1,短于返回值为-1,等于返回值为0
3>int compare(char *ch);和字符串比较
4>int compare(int index,int len,const string &str);本身的一段和对象比较
5>int compare(int index,int len,const string &str,int index2,int len2);比较两个对象的某一段
(2)、复制
1>size_type copy(char *str,int num,int index);将对象的某一段复制进一个字符数组中
(3)、查找子串
1>int find(const string &str,int index);从指定位置开始查找str,找到就返回起始位置
2>int find(const char *str,int index);查找字符串str
3>int find(chah ch,int index);从指定位置开始查找字符ch
(4)返回字串
1>string substr(int index,int num);返回指定位置的字串
(5)交换

1>swap(string &str);交换两个对象的内容

(六)、运算符重载
1>输入输出 << >>
2>下标运算 []
3>赋值 += =
4>比较 <,>,=,<=,>=,!=

5>计算 +

文章内有一些个人理解,有错误望谅解

猜你喜欢

转载自blog.csdn.net/qq_38588998/article/details/80767710