实现string类常用的操作
时间: 2023-06-12 18:07:56 浏览: 95
string类是C++标准库中的一个类,它提供了一些常用的字符串操作。下面列举一些常用的操作:
1. 构造函数
```
string(); // 构造一个空的字符串
string(const char *s); // 用C风格字符串s初始化
string(const string &s); // 拷贝构造函数
```
2. 赋值操作符
```
string& operator=(const char *s); // 用C风格字符串s赋值
string& operator=(const string &s); // 拷贝赋值
```
3. 访问字符
```
char& operator[](int i); // 访问第i个字符
char& at(int i); // 访问第i个字符,会进行越界检查
char& front(); // 访问第一个字符
char& back(); // 访问最后一个字符
const char* c_str() const; // 返回C风格字符串表示的字符串
```
4. 迭代器
```
iterator begin(); // 返回指向第一个字符的迭代器
iterator end(); // 返回指向最后一个字符后面的迭代器
const_iterator cbegin() const; // 返回指向第一个字符的const迭代器
const_iterator cend() const; // 返回指向最后一个字符后面的const迭代器
```
5. 大小和容量
```
bool empty() const; // 判断字符串是否为空
int size() const; // 返回字符串长度
int length() const; // 返回字符串长度
int capacity() const; // 返回字符串容量
void resize(int n); // 改变字符串长度,如果n比原来的长度小,则删除多余的字符;如果n比原来的长度大,则在末尾添加空字符
void reserve(int n); // 改变字符串容量,如果n比原来的容量小,则什么也不做;如果n比原来的容量大,则重新分配内存
```
6. 插入和删除字符
```
string& insert(int pos, const char *s); // 在pos位置插入C风格字符串s
string& insert(int pos, const string &s); // 在pos位置插入字符串s
string& insert(int pos, int n, char c); // 在pos位置插入n个字符c
string& erase(int pos, int n); // 删除从pos开始的n个字符
```
7. 拼接字符串
```
string& operator+=(const char *s); // 拼接C风格字符串s
string& operator+=(const string &s); // 拼接字符串s
string& append(const char *s); // 拼接C风格字符串s
string& append(const string &s); // 拼接字符串s
string& append(const char *s, int n); // 拼接C风格字符串s的前n个字符
string& append(int n, char c); // 拼接n个字符c
```
以上是一些常用的string类操作,当然还有很多其他的操作,可以查看C++标准库文档进行了解。
阅读全文