本章主要记录string类中的各种方法,函数,以及它们的用途
本章内容仅为学习记录,如有纰漏,欢迎指正
//typedef unsigned int size_t
class string
{
char* _str;
size_t _size;
size_t _capacity;
}
注:string中的函数大多为通过对象来调用
string(); //空字符串
string(const char* s); //用C风格字符串拷贝构造
string(const string& str); //用string字符串拷贝构造
string(int n, char c); //用n个字符c初始化
//重载 = 运算符
string& operator= (const char* s);
string& operator= (const string &s);
string& operator= (char c); //将字符赋值给当前字符串
//赋值:
string& assign(const char *s);
string& assign(const char *s, int n); //将s字符串的前n个字符赋给当前字符串
string& assign(const string &s);
string& assign(int n, char c); //将n个c字符赋给当前字符串
//重载 += 运算符
string& operator+= (const char * str);
string& operator+= (const char c);
string& operator+= (const string& str);
//字追加函数,
string& append(const char* s);
string& append(const char* s, int n); //追加s的前n个字符
string& append(const string &s);
string& append(const string &s, int pos, int n); //从s字符串中第pos个位置开始追加n个字符
//find:从左往右查找,查找是否包含子字符串s
int find(const string& str, int pos = 0) const; //const表示常函数,不能修改成员属性
int find(const char* s, int pos = 0) const;
int find(const char* s, int pos, int n) const;
int find(const char c, int pos = 0) const;
//rfind:从右往左查找
int rfind(const string& str, int pos = npos) const; //npos:结尾位置
int rfind(const char* s, int pos = npos) const;
int rfind(const char* s, int pos, int n) const;
int rfind(const char c, int pos = 0) const;
//replace替换(传进去多的字符会进行插入,将插入位置后面数据后移,少的话后面数据前移)
string& replace(int pos, int n, const string& str); //将自身从pos位置开始的n个字符替换为str
string& replace(int pos, int n, const char* s);
//ASCII码逐位比较
//结果为 = 返回 0
//结果为 > 返回 正数
//结果为 < 返回 负数
int compare(const string &s) const;
int compare(const char* s) const;
char& operator[](int n); //重载[],可以通过[]直接访问
char& at(int n); //传入下标
//插入:
string& insert(int pos, const char* s);
string& insert(int pos, const string& str);
string& insert(int pos, int n, char c);
//删除:
string& erase(int pos, int n = npos); //从指定位置pos删除n个字符,n默认到结尾
//截取:
string substr(int pos = 0, int n = npos) const; //返回由pos开始的n个字符组成的字符串