C++ String类详解:函数与操作

需积分: 9 1 下载量 108 浏览量 更新于2024-09-19 收藏 15KB PDF 举报
本文将详细讨论C++中的`std::string`类的使用以及相关函数,包括构造函数、字符操作、特性描述、输入输出操作和赋值操作。 在C++中,`std::string`是一个非常重要的类,用于处理字符串数据。它提供了丰富的功能和便利的操作,使得字符串处理变得更加简单和安全。 ### 构造函数 `std::string`有多种构造方式,例如: 1. `string(const char *s)`:使用C风格的字符串`s`来初始化。 2. `string(int n, char c)`:创建一个包含`n`个字符`c`的字符串。 除此之外,还有默认构造函数(创建空字符串)和复制构造函数(根据已有的`string`对象复制一个新的`string`)。 ### 字符操作 - `operator[](int n)` 和 `at(int n)`:两者都返回字符串中第`n`个字符的引用,但`at()`提供了边界检查,当索引越界时会抛出`out_of_range`异常,而`operator[]`则没有这种保护。 ### 特性描述 - `capacity()`:返回当前字符串能容纳的字符数,即无需额外分配内存就能添加的字符数量。 - `max_size()`:返回`string`对象能存储的最大字符串长度。 - `size()` 和 `length()`:这两个函数返回字符串的当前长度,表示字符串中实际存在的字符数。 - `empty()`:如果字符串为空,返回`true`,否则返回`false`。 - `resize(int len, char c)`:调整字符串长度为`len`,若长度增加,则用字符`c`填充新增部分;若长度减少,超出的部分会被删除。 ### 输入输出操作 `std::string`重载了`>>`和`<<`运算符,分别用于从输入流中读取字符串和向输出流中写入字符串。例如,可以使用`std::cin >> str`来读取用户输入的字符串,`std::cout << str`则将字符串输出到标准输出。 `getline(istream& in, string& s)`函数则是专门用于从输入流`in`中读取一行(直到遇到换行符)并存储到`string`对象`s`中。 ### 赋值操作 - `operator=(const string& s)`:将`string`对象`s`的值赋给当前对象,即字符串赋值。 以上是`std::string`类的一些基本用法和关键函数的介绍。在实际编程中,了解并熟练运用这些方法能够极大地提高字符串处理的效率和代码的可读性。同时,`std::string`类还提供了许多其他功能,如查找、替换、比较等,这些都是在处理字符串时非常实用的方法。