std::string不是 C++ 内置数据类型,而是标准库提供的模板类(准确说是 std::basic_string<char> 的别名),它封装了字符串的存储和各种操作,无需你手动管理内存(比如扩容、释放),是处理字符串的首选。
使用它的前置条件:
- 必须包含头文件
<string> - 它位于
std命名空间中,有两种使用方式:- 方式 1:添加
using namespace std;(推荐,简洁) - 方式 2:直接写
std::string(工程开发更规范,避免命名冲突)
- 方式 1:添加
初始化
#include <iostream>
#include <string>
using namespace std;
int main() {
// 1. 直接赋值(最简洁)
string s1 = "Hello C++";
// 2. 构造函数初始化(和方式 1 效果一致)
string s2("Hello C++");
// 3. 初始化空字符串(后续可赋值)
string s3; // 空字符串,长度为 0
s3 = "Later fill content";
// 4. 用已有字符串的子串初始化
string s4(s1, 6); // 从 s1 的第 6 个字符开始复制到末尾,结果为"C++"
// 5. 用指定字符重复 n 次初始化
string s5(5, 'a'); // 5 个字符'a',结果为"aaaaa"
cout << "s1: " << s1 << endl;
cout << "s2: " << s2 << endl;
cout << "s3: " << s3 << endl;
cout << "s4: " << s4 << endl;
cout << << s5 << endl;
;
}

