STL之string容器
1.string容器基本概念
C风格字符串(以空字符结尾的字符数组)太过复杂难于掌握,不适合大程序的开发,所以C++标准库定义了一种string
类,定义在头文件<string>
。
string
和c
风格字符串对比:
-
char*
是一个指针,string
是一个类
string
封装了char*
,管理这个字符串,是一个char*
型的容器。 -
string
封装了很多实用的成员方法
查找find
,拷贝copy
,删除delete
替换replace
,插入insert
-
不用考虑内存释放和越界
string
管理char*
所分配的内存。每一次string
的复制,取值都由string
类负责维护,不用担心复制越界和取值越界等。
2. string容器常用API
string
构造函数:
string();//创建一个空的字符串 例如: string str;
string(const string& str);//使用一个string对象初始化另一个string对象
string(const char* s);//使用字符串s初始化
string(int n, char c);//使用n个字符c初始化
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