Một ví dụ điển hình cho boost :: Thuật toán :: tham gia


116

Gần đây tôi muốn sử dụng boost :: Thuật toán :: tham gia nhưng tôi không thể tìm thấy bất kỳ ví dụ sử dụng nào và tôi không muốn đầu tư nhiều thời gian để tìm hiểu thư viện Boost Range chỉ để sử dụng một chức năng này.

Bất cứ ai cũng có thể cung cấp một ví dụ tốt về cách sử dụng tham gia vào một chuỗi các chuỗi? Cảm ơn.


30
Khi tìm kiếm các ví dụ cho thư viện boost "foo", thường nên xem xét boost / libs / foo / example và boost / libs / foo / test. Trong trường hợp hiện tại, bạn có thể xem boost / libs / Thuật toán / chuỗi / test / jo_test.cpp
Éric Malenfant

Câu trả lời:


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

Đầu ra:

Hello, World!

4
Nó có thể hỗ trợ các loại tùy chỉnh? Ví dụ, lớp Acó một phương thức ToStringtrả về một giá stringtrị. Tôi có thể sử dụng joinđể tham gia a vector<A>bằng cách gọi ToStringtừng phần tử không?
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
Câu trả lời này cho thấy nỗ lực ít hơn so với câu hỏi cũ và không cung cấp giá trị gia tăng. Tại sao nó vẫn có mặt ở đây?
arekolek
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.