在 C++ 中将 const char * 与字符串连接的最干净的方法是啥?

Posted

技术标签:

【中文标题】在 C++ 中将 const char * 与字符串连接的最干净的方法是啥?【英文标题】:what is the cleanest way to concat a const char * with a string in c++?在 C++ 中将 const char * 与字符串连接的最干净的方法是什么? 【发布时间】:2014-07-19 19:04:16 【问题描述】:

我知道我可以使用stringstream,但我希望有一种更简单的方法来编写"hello" + a_std_string_object

【问题讨论】:

"hello" + a_std_string_object 应该按书面方式工作。你有问题吗? a_std_string_object.insert(0, "hello"); 【参考方案1】:

如果您有旧的/损坏的编译器,则可能需要

string("hello") + std_string_object

但在现代编译器中,自然代码

"hello" + std_string_object

应该可以。

【讨论】:

@Chad 好的,我过去肯定使用过自然方式不起作用的编译器。我从来没有注意到它得到了修复。无论如何,这不是经常出现的事情。 "hello" + std_string_object 至少从 C++98 开始就有效。也许您正在考虑使用 const char * 添加字符串文字。 我在考虑 g++ 2.95。那个编译器没有做任何实现 C++98 的借口:)

以上是关于在 C++ 中将 const char * 与字符串连接的最干净的方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在 C++ 中将 const vector<uint8_t> 转换/转换为 const vector<char>

如何在 C++ 中将 std::string 转换为 const char [重复]

如何在 C++ 中将 char 值显示为字符串?

C++标准库 如何连接两个const char *类型字符串,并返回const char * 类型结果?

如何使用 UTF-8 字符序列在 C++ 中初始化 const char* 和/或 const std::string?

C++ 我将一个const char*的字符串转换为string出错