Un bon exemple pour boost :: algorithm :: join


116

J'ai récemment voulu utiliser boost :: algorithm :: join mais je n'ai trouvé aucun exemple d'utilisation et je ne voulais pas investir beaucoup de temps dans l'apprentissage de la bibliothèque Boost Range juste pour utiliser cette fonction.

Quelqu'un peut-il fournir un bon exemple d'utilisation de la jointure sur un conteneur de chaînes? Merci.


30
Lorsque vous cherchez des exemples pour la bibliothèque boost "foo", il est souvent judicieux de regarder boost / libs / foo / examples et boost / libs / foo / test. Dans le cas présent, vous pouvez regarder boost / libs / algorithm / string / test / join_test.cpp
Éric Malenfant

Réponses:


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

Production:

Hello, World!

4
Peut-il prendre en charge les types personnalisés? Par exemple, la classe Aa une méthode ToStringqui renvoie une valeur, stringpuis-je utiliser joinpour joindre un vector<A>en appelant ToStringchaque élément?
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
Cette réponse montre moins d'efforts que l'ancienne et n'apporte aucune valeur ajoutée. Pourquoi est-il toujours présent ici?
arekolek
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.