Search code examples
c++stringcompiler-errorsconcatenationone-liner

How do I concatenate multiple C++ strings on one line?


C# has a syntax feature where you can concatenate many data types together on 1 line.

string s = new String();
s += "Hello world, " + myInt + niceToSeeYouString;
s += someChar1 + interestingDecimal + someChar2;

What would be the equivalent in C++? As far as I can see, you'd have to do it all on separate lines as it doesn't support multiple strings/variables with the + operator. This is OK, but doesn't look as neat.

string s;
s += "Hello world, " + "nice to see you, " + "or not.";

The above code produces an error.


Solution

  • #include <sstream>
    #include <string>
    
    std::stringstream ss;
    ss << "Hello, world, " << myInt << niceToSeeYouString;
    std::string s = ss.str();
    

    Take a look at this Guru Of The Week article from Herb Sutter: The String Formatters of Manor Farm