C++:
字符串拼接
How to: (如何操作:)
#include <iostream>
#include <string>
int main() {
std::string firstName = "张";
std::string lastName = "三";
std::string fullName = firstName + lastName; // 使用 + 操作符连接字符串
std::cout << "完整姓名: " << fullName << std::endl;
// C++11 后,可以使用 += 或者 append() 进行字符串拼接。
std::string greeting = "你好, ";
greeting += fullName; // 或者 greeting.append(fullName);
std::cout << greeting << std::endl;
return 0;
}
输出:
完整姓名: 张三
你好, 张三
Deep Dive (深入了解)
历史上,C++中字符串的拼接一度受限于字符数组的操作,需要使用函数如 strcat()
处理。C++的标准模板库(STL)引入std::string
类后,字符串操作变得简单许多。+操作符重载和append()
方法更是直观、高效。
其他方法还包括使用字符串流(例如std::stringstream
),这在需要组合多种数据类型为字符串时特别有用。在性能敏感的应用中,避免多次不必要的字符串复制很重要,因此选择正确的连接方法和预分配足够内存至关重要。
对于实现细节,std::string
的连接操作会根据需要扩展字符串的内存。但是std::string::reserve()
方法可以预分配内存以提高效率。而在C++17及以后版本,std::string_view
提供了一个非拷贝的轻量级字符串参考方式,减少了一些字符串操作的开销。
See Also (另请参阅)
- C++标准库文档关于 std::string
- cppreference.com 关于更高级的字符串操作方法
- 相关文章: 关于用
std::stringstream
串联不同数据类型