1. ホーム
  2. c++

[解決済み] 複数のC++文字列を1行に連結するにはどうすればよいですか?

2022-04-23 01:57:05

質問

C#には、多くのデータ型を1行にまとめて連結できる構文がある。

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

C++でこれに相当するものは何でしょうか?私が見る限り、+演算子による複数の文字列/変数には対応していないので、すべて別々の行で行う必要があります。これはこれでいいのだが、見た目がすっきりしない。

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

上記のコードでは、エラーが発生します。

解決方法は?

#include <sstream>
#include <string>

std::stringstream ss;
ss << "Hello, world, " << myInt << niceToSeeYouString;
std::string s = ss.str();

ハーブ・サッターによるGuru Of The Weekの記事をご覧ください。 マナーファームのストリングフォーマー