template string join(const vector &v, const string &sep) { ostringstream oss; for (const T &element: v) oss << element << sep; const string out = oss.str(); return v.empty() ? out : out.substr(0, out.length() - sep.length()); } // example usage // cout << join(output, ", ") << endl; // cout << join(vector(5, 1.1f), ", ") << endl;