Ein gutes Beispiel für boost :: algorithm :: join


116

Ich wollte kürzlich boost :: algorithm :: join verwenden , konnte aber keine Anwendungsbeispiele finden und wollte nicht viel Zeit in das Erlernen der Boost Range-Bibliothek investieren, nur um diese eine Funktion zu verwenden.

Kann jemand ein gutes Beispiel für die Verwendung von Join für einen Container mit Zeichenfolgen liefern? Vielen Dank.


30
Wenn Sie nach Beispielen für die Boost-Bibliothek "foo" suchen, ist es oft eine gute Idee, sich boost / libs / foo / examples und boost / libs / foo / test anzusehen. Im vorliegenden Fall könnten Sie sich boost / libs / algorithm / string / test / join_test.cpp
Éric Malenfant vom

Antworten:


224
#include <boost/algorithm/string/join.hpp>
#include <vector>
#include <iostream>

int main()
{
    std::vector<std::string> list;
    list.push_back("Hello");
    list.push_back("World!");

    std::string joined = boost::algorithm::join(list, ", ");
    std::cout << joined << std::endl;
}

Ausgabe:

Hello, World!

4
Kann es benutzerdefinierte Typen unterstützen? Zum Beispiel Klasse Averfügt über eine Methode , ToStringdie eine zurück stringvalue.Can ich Verwendung joineines beizutreten vector<A>durch den Aufruf ToStringauf jedes Element?
Ken Zhang

43
std::vector<std::string> MyStrings;
MyStrings.push_back("Hello");
MyStrings.push_back("World");
std::string result = boost::algorithm::join(MyStrings, ",");

std::cout << result; // prints "Hello,World"

7
Diese Antwort zeigt weniger Aufwand als die ältere und bietet keinen Mehrwert. Warum ist es hier noch vorhanden?
Arekolek
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.