に追加operator<<
したいstd::vector<string>
。これはオペレーターです
std::vector<std::string>& operator<<(std::vector<std::string>& op, std::string str) {
op.push_back(str);
return op;
}
これで、次のようにベクトルに要素を追加できます。
std::vector<std::string> vec;
vec << "aaa" << "bbb" << "ccc";
ただし、参照によって一時オブジェクトを渡すことができないため、次のコードはコンパイルされません。
std::vector<std::string>() << "AAA" << "BBB";
一時的なベクトルにも要素を追加するようにコードを変更するにはどうすればよいですか?
引数を受け入れる関数があるconst std::vector<std::string>&
ので、1行でベクトルを渡したいと思います。