Recently i have been asked if there is python / javascript like join() in c++. Here is what it could look like:
#include <vector>
#include <string>
#include <numeric>
#include <iostream>
template <typename Iter>
string join(Iter begin, Iter end, std::string const& sep) {
static_assert(is_same_v<typename Iter::value_type, std::string>);
if(begin == end) { return ""; }
if(std::next(begin) == end) { return *begin; }
return std::accumulate(std::next(begin), end, *begin
,[&sep](std::string const& a, std::string const& b) {
return a + sep + b;
});
}
using namespace std;
int main(){
vector<string> strings = { "hallo", "wilder", "willi" };
cout << join(strings.begin(), strings.end(), " ") << endl;
}