`std::vector` 'substring concatenator'
If you are just trying to concatenate vector&lt;string&gt; elements, why not use the following approach:

std::string seperator = " ";
std::string vectorElementHolder;

for (const auto&amp; word : vec){

    vectorElementHolder += word + seperator;

}


Simple and effective, assuming you use C++11.
If you want to change the index where you start, you could always declare an iterator as such vector&lt;string&gt;::iterator to point to the index and go from there.