Run*_*ble 4 c++ string string-concatenation
我想创建一个包含许多变量的字符串:
std::string name1 = "Frank";
std::string name2 = "Joe";
std::string name3 = "Nancy";
std::string name4 = "Sherlock";
std::string sentence;
sentence = name1 + " and " + name2 + " sat down with " + name3;
sentence += " to play cards, while " + name4 + " played the violin.";
Run Code Online (Sandbox Code Playgroud)
这应该产生一个读取的句子
弗兰克和乔坐下来与南希打牌,而夏洛克则拉小提琴.
我的问题是:实现这一目标的最佳方法是什么?我担心不断使用+运算符是无效的.有没有更好的办法?
是的std::stringstream,例如:
#include <sstream>
...
std::string name1 = "Frank";
std::string name2 = "Joe";
std::string name3 = "Nancy";
std::string name4 = "Sherlock";
std::ostringstream stream;
stream << name1 << " and " << name2 << " sat down with " << name3;
stream << " to play cards, while " << name4 << " played the violin.";
std::string sentence = stream.str();
Run Code Online (Sandbox Code Playgroud)