Heim >Backend-Entwicklung >C++ >Was ist der eleganteste Weg, einen Vektor aus Strings implodieren zu lassen?

Was ist der eleganteste Weg, einen Vektor aus Strings implodieren zu lassen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-24 08:12:02508Durchsuche

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

Einen String-Vektor elegant implodieren

Mit dieser Frage soll der ausgefeilteste Ansatz zum Implodieren eines String-Vektors in einen einzelnen String ermittelt werden. Die derzeit implementierte Methode lautet wie folgt:

<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>

Verwendung von boost::algorithm::join

Die Antwort schlägt vor, die Join-Funktion der Boost-Bibliothek zu nutzen:

<code class="cpp">#include <boost/algorithm/string/join.hpp>
...
std::string joinedString = boost::algorithm::join(elems, delim);</code>

Diese Methode bietet einen präziseren und effizienteren Ansatz zur String-Implosion.

Das obige ist der detaillierte Inhalt vonWas ist der eleganteste Weg, einen Vektor aus Strings implodieren zu lassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn