在我的程序中我有一個程序,它以std :: string爲參數。當我調用這個函數時,我想給它一個大(約5)的字符串組合。是否有可以吐出字符串#的本機toString()函數?它可以在一條線上完成嗎?C++在一行中編寫字符串作爲參數
我想要什麼:
std::string a = "sometext";
std::string b = "someothertext";
somefunction(ToString(a+b+"text"));
在我的程序中我有一個程序,它以std :: string爲參數。當我調用這個函數時,我想給它一個大(約5)的字符串組合。是否有可以吐出字符串#的本機toString()函數?它可以在一條線上完成嗎?C++在一行中編寫字符串作爲參數
我想要什麼:
std::string a = "sometext";
std::string b = "someothertext";
somefunction(ToString(a+b+"text"));
這工作藏漢:
std::string a = "sometext";
std::string b = "someothertext";
somefunction(a + b + "text");
它的確如此。我正在過問這個問題。我認爲在C++這樣的「低級」語言中這是不可能的。也許是時候給我一杯咖啡了;) –
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");
退房的#include。另外谷歌下次在你發佈之前請。 –
sunny