Imploser un vecteur de chaînes avec élégance
Cette question cherche à identifier l'approche la plus sophistiquée pour imploser un vecteur de chaînes en une seule chaîne. La méthode actuellement implémentée est la suivante :
<code class="cpp">static std::string& implode(const std::vector<std::string>& elems, char delim, std::string& s) { for (std::vector<std::string>::const_iterator ii = elems.begin(); ii != elems.end(); ++ii) { s += (*ii); if ( ii + 1 != elems.end() ) { s += delim; } } return s; } static std::string implode(const std::vector<std::string>& elems, char delim) { std::string s; return implode(elems, delim, s); }</code>
Utilisation de boost::algorithm::join
La réponse suggère d'exploiter la fonction de jointure de la bibliothèque boost :
<code class="cpp">#include <boost/algorithm/string/join.hpp> ... std::string joinedString = boost::algorithm::join(elems, delim);</code>
Cette méthode offre une approche plus concise et efficace de l'implosion des cordes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!