std::string 提供的字符串操作非常灵活,可以适应不同的使用场景。当你需要使用不同方式进行字符串的初始化和赋值时,可以根据需要选择适当的方法。
欢迎大家补充说明!!!
初始化 std::string
默认构造函数 - 创建一个空字符串
std::string s1;
从 C-string 初始化 - 使用字符数组或字符串字面量
const char* cstr = "Hello";
std::string s2(cstr);
std::string s3("World");
拷贝构造函数 - 从另一个 std::string 实例复制
std::string s4(s3);
从缓冲区初始化 - 使用字符数组的一部分
char buf[] = "Sample text";
std::string s5(buf, 6);
用重复字符初始化
std::string s6(5, 'a');
使用迭代器初始化 - 从另一个容器复制
std::vector<char> vec = {'H', 'i', '!'};
std::string s7(vec.begin(), vec.end());
使用 brace-enclosed initializer
std::string s8{'C', '+', '+'};
赋值给 std::string
使用赋值运算符
std::string str;
str = "Hello, World!";
assign 成员函数
str.assign("New Value");
拷贝赋值
std::string other = "Example";
str = other;
使用迭代器范围
std::vector<char> vec = {'X', 'Y', 'Z'};
str.assign(vec.begin(), vec.end());
std::string first = "Hello";
std::string second = "World";
first += ", ";
first += second;
first.append("!");
first.push_back('.');