Join container elements into a string
Sometimes, there is no algorithm in the library to accomplish a task at hand. We can use iterators, with the same techniques as the algorithms
library, to easily write one.
For example, we often need to join elements from a container, with separators, into a string. One common solution is to use a simple for()
loop:
for(auto v : c) cout << v << ', ';
The problem with this otherwise simple solution is that it leaves a trailing separator:
vector<string> greek{ "alpha", "beta", "gamma", "delta", "epsilon" }; for(auto v : greek) cout << v << ", "; cout << '\n';
Output:
alpha, beta, gamma, delta, epsilon,
This may be fine in a testing environment, but in any production system, that trailing...