STL常用容器之 string
文章目录
1. string容器
1. string的基本概念
本质:string是C++风格的字符串,而string本质上是一个类
string 和char 区别*:
- char* 是一个指针
- string是一个类,类内部封装了
char *
,管理这个字符串,是char *
型的容器
特点:string类内封装了很多成员的方法
例如: 查找find
,拷贝copy
,删除delete
,替换replace
,插入insert
steing管理char *
所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责
2. string构造函数
构造函数原型:
string();//创建一个空的字符串 例:string str;
string(const char* s); //使用字符串初始化
string(const string & str);//使用一个string对象初始化另一个string对象
string(int n, char c);//使用n个字符c初始化
例:
#include <iostream>
#include <string>
using namespace std;
void test()
{
// string();
string s1;//默认构造
const char* str = "hello world";
// string(const char* s);
string s2(str);
cout << s2 << endl;
//string(const string & str);
string s3(s2);
cout << s3 << endl;
//* string(int n, char c);
string s4(10,'a');
cout << s4 << endl;
}
int main()
{
test();
system("pause");
return 0;
}
3. string赋值操作
赋值的函数原型:
-
string& operator=(const char* s); //char*类型字符串 赋值给当前字符串
-
string& operator=(const string &s);//字符串s赋值给当前字符串
-
string& operator=(char c);//字符赋值给当前字符串
-
string& assign(const char* s);//把字符串s赋给当前字符串
-
string& assign(const char *s,int n);//把字符串s的前n个字符赋给当前字符串
-
string& assign(const string &s);//把字符串s赋给当前字符串
-
string& assign(int n, char c);//把n个字符c赋给当前字符串
例:
#include <iostream>
#include <string>
using