2015-10-28 63 views
0

在我的程序中我有一個程序,它以std :: string爲參數。當我調用這個函數時,我想給它一個大(約5)的字符串組合。是否有可以吐出字符串#的本機toString()函數?它可以在一條線上完成嗎?C++在一行中編寫字符串作爲參數

我想要什麼:

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

退房的#include 。另外谷歌下次在你發佈之前請。 – sunny

回答

3

這工作藏漢:

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

它的確如此。我正在過問這個問題。我認爲在C++這樣的「低級」語言中這是不可能的。也許是時候給我一杯咖啡了;) –

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"); 
相關問題