C ++在一行中组合字符串以作为参数

时间:2015-10-28 13:51:57

标签: c++ string

在我的程序中,我有一个以std :: string作为参数的程序。当我调用这个函数时,我想给它一个大的(大约5)字符串组合。是否有一个原生的toString()函数可以吐出字符串#?可以在一条线上完成吗?

我想要的是什么:

std::string a = "sometext";
std::string b = "someothertext";
somefunction(ToString(a+b+"text"));

2 个答案:

答案 0 :(得分:3)

这也有效:

std::string a = "sometext";
std::string b = "someothertext";
somefunction(a + b + "text");

答案 1 :(得分:1)

std::string已经有一个operator+来连接字符串。如果你有

void foo(std::string some_name) { code in here }

你想要传递一堆你可以使用的字符串组合

foo(some_string + another_string + "some text" + even_another_string);

如果您想要传递文字字符串的所有字符串,则必须将custom string literal添加到其中一个字符串或将其转换为字符串

foo("this is a string"s + "another string" + "some more text");
//or
foo(std::string("this is a string") + "another string" + "some more text");