Contoh yang bagus untuk boost :: algoritma :: join

116

Saya baru-baru ini ingin menggunakan boost :: algoritma :: join tetapi saya tidak dapat menemukan contoh penggunaan apa pun dan saya tidak ingin menginvestasikan banyak waktu untuk mempelajari pustaka Boost Range hanya untuk menggunakan fungsi yang satu ini.

Adakah yang bisa memberikan contoh yang baik tentang bagaimana menggunakan join pada wadah string? Terima kasih.

Dan Hook
sumber
30
Saat mencari contoh untuk boost library "foo", sebaiknya lihat boost / libs / foo / example dan boost / libs / foo / test. Dalam kasus ini, Anda bisa melihat boost / libs / algoritme / string / test / join_test.cpp
Éric Malenfant

Jawaban:

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

Keluaran:

Hello, World!
Tristram Gräbener
sumber
4
Bisakah itu mendukung tipe khusus? Misalnya, kelas Amemiliki metode ToStringyang mengembalikan nilai. stringDapatkah saya menggunakan joinuntuk menggabungkan a vector<A>dengan memanggil ToStringsetiap elemen?
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"
KeatsPeeks
sumber
7
Jawaban ini menunjukkan usaha yang lebih sedikit dibandingkan jawaban sebelumnya dan tidak memberikan nilai tambah. Kenapa masih ada disini?
arekolek