C++ 字符串详解:从基础到进阶全面掌握 std::string

一、C++ 中的字符串类型

在 C++ 中,处理字符串主要有两种方式:C 风格字符串(字符数组)和 std::string 类型。由于 std::string 提供了更高效、更简洁的接口,本文将重点讲解 std::string 的使用。

1.1 C 风格字符串(字符数组)

C 风格字符串是一个以空字符 '\0' 结尾的字符数组。它的定义类似于:

char str[] = "Hello";  // C 风格字符串
  • 特点
    • 需要自己管理数组的大小和内存。
    • 需要手动保证字符串的结束符 '\0'
    • 不支持直接的字符串操作,通常需要使用 C 标准库提供的函数(如 strlen()strcpy()strcat() 等)。

1.2 std::string 类型(C++ 字符串)

std::string 是 C++ 标准库中的一个类,它为我们提供了对字符串的高效管理和操作。相比 C 风格字符串,std::string 在使用上更加安全和方便,提供了许多内建的方法来进行字符串处理。

#include 
#include 
using namespace std;

int main() {
    string str = "Hello, World!";
    cout << str << endl;  // 输出: Hello, World!
    return 0;
}
  • 特点
    • 自动管理内存,不需要开发者手动分配和释放内存。
    • 可以动态增长或缩小,不需要关心长度或容量。
    • 提供了丰富的成员函数来支持字符串操作。

二、std::string 的基本操作

2.1 字符串的输入和输出

  • 输入:用 cin 来读取字符串。如果读取单个单词(遇到空格会停止),用 cin >> str。如果要读取包含空格的整行文本,使用 getline(cin, str)
    #include 
    #include 
    using namespace std;
    
    int mai

你可能感兴趣的:(c++,算法)