C++ STL string核心函数与操作详解
需积分: 4 69 浏览量
更新于2024-07-28
1
收藏 27KB DOCX 举报
C++ STL string 是标准模板库 (Standard Template Library) 中的一个重要组成部分,它提供了处理字符序列的高效、安全和灵活的方法。在C语言的基础上,STL string 类增强了字符串操作的功能,使得在C++编程中更加便捷。以下是一些关键的C++ STL string 常用函数及其功能:
1. 构造函数:
- `string(const char* s);`:此函数用于将C风格字符串`s`初始化为新字符串。
- `string(int n, char c);`:通过指定的字符`c`重复n次创建一个新的字符串。
- 默认构造函数和复制构造函数允许动态创建字符串,如`string s1;`和`string s2 = "hello";`。
2. 字符操作:
- `const char& operator[](int n) const;`:返回第n个字符的引用,常量版本。`at(int n) const;`与之类似,但带有范围检查,当索引越界时抛出`std::out_of_range`异常。
- `char& operator[](int n);`:无范围检查的可修改版本,直接对指定位置的字符进行修改。
- `operator[]`和`at()`的区别在于安全性:前者不检查索引范围,后者提供这种检查。
3. 访问和转换:
- `const char* data() const;`:返回一个指向内部字符存储的指针,但不是null-terminated。
- `const char* c_str() const;`:获取以null结尾的C风格字符串。
4. 动态调整:
- `int capacity() const;`:返回当前可用的存储空间(元素个数),不包括null终止符。
- `int max_size() const;`:表示可以容纳的最大字符串长度,与系统资源有关。
- `int size() const;`:返回字符串中的实际字符数,包括null终止符。
- `int length() const;`:等同于`size()`,提供更明确的命名。
- `bool empty() const;`:检查字符串是否为空。
5. 调整大小和填充:
- `void resize(int len, char c);`:将字符串长度调整为`len`,不足部分用字符`c`填充。
6. 输入输出操作:
- C++ STL string 重载了`operator>>`和`operator<<`,允许从输入流(如`cin`)读取数据到字符串,以及将字符串写入输出流(如`cout`)。
- `getline(istream& in, string& s);`:从输入流中按换行符`\n`读取字符串至`s`。
7. 赋值操作:
- `string& operator=(const string& s);`:用于将一个字符串`s`赋值给当前字符串。
- `string& assign(const char* s);`:直接将C风格字符串`s`复制到当前字符串。
C++ STL string 提供了一系列丰富的功能,使字符串操作变得更加安全且易于管理。掌握这些函数是C++编程中处理文本数据的基础,对于提升代码质量和效率至关重要。
2016-05-23 上传
2012-12-20 上传
107 浏览量
2023-08-24 上传
2024-05-30 上传
2023-08-19 上传
2023-04-02 上传
2023-07-10 上传
2024-11-15 上传