📅  最后修改于: 2023-12-03 14:50:52.374000             🧑  作者: Mango
在 C++ 中连接字符串是一个常见的任务。当我们需要把两个或多个字符串连接在一起时,需要使用一个连接字符串的方法。
在 C++ 中,我们可以使用 + 运算符连接两个字符串。例如:
string str1 = "hello";
string str2 = "world";
string result = str1 + str2;
cout << result << endl;
输出:
helloworld
注意,使用 + 运算符连接字符串,实际上是把两个字符串复制并拼接成一个新的字符串。如果我们需要连接多个字符串,这种方法将会非常低效。
另一种连接字符串的方法是通过字符串流。我们可以使用头文件
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
string str1 = "hello";
string str2 = "world";
ostringstream ss;
ss << str1 << str2;
string result = ss.str();
cout << result << endl;
return 0;
}
输出:
helloworld
这种方法的好处是可以连接任意数量的字符串,并且不需要频繁地创建字符串对象。
C++11 标准引入了一个新函数,用于连接多个字符串:std::string::append。它接受一个或多个字符串(const std::string&)作为参数,并将它们附加到当前字符串的末尾。
#include <iostream>
#include <string>
using namespace std;
int main() {
string str1 = "hello";
string str2 = "world";
str1.append(str2); // Append str2 to str1
cout << str1 << endl;
return 0;
}
输出:
helloworld
这种方法也非常有效率,因为它使用原地修改来连接字符串。
在 C++ 中连接字符串有多种方法。我们可以使用 + 运算符、字符串流,或者 std::string::append 函数。选择哪种方法取决于情况,但需要注意的是,在连接大量字符串时,应考虑使用 std::string::append 函数以获得更好的性能。