📜  在 C++ 中来连接字符串(1)

📅  最后修改于: 2023-12-03 14:50:52.374000             🧑  作者: Mango

在 C++ 中连接字符串

在 C++ 中连接字符串是一个常见的任务。当我们需要把两个或多个字符串连接在一起时,需要使用一个连接字符串的方法。

使用 + 运算符连接字符串

在 C++ 中,我们可以使用 + 运算符连接两个字符串。例如:

string str1 = "hello";
string str2 = "world";
string result = str1 + str2;
cout << result << endl;

输出:

helloworld

注意,使用 + 运算符连接字符串,实际上是把两个字符串复制并拼接成一个新的字符串。如果我们需要连接多个字符串,这种方法将会非常低效。

使用字符串流连接字符串

另一种连接字符串的方法是通过字符串流。我们可以使用头文件,并创建一个 ostringstream 对象来实现。例如:

#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 函数以获得更好的性能。