Maison  >  Article  >  développement back-end  >  Quelle est la manière la plus élégante d’imploser un vecteur de chaînes ?

Quelle est la manière la plus élégante d’imploser un vecteur de chaînes ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-24 08:12:02427parcourir

What is the Most Elegant Way to Implode a Vector of Strings?

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&amp; implode(const std::vector<std::string>&amp; elems, char delim, std::string&amp; 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>&amp; 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn