Boost :: algoritma :: join için iyi bir örnek


116

Son zamanlarda boost :: algoritma :: join kullanmak istedim, ancak herhangi bir kullanım örneği bulamadım ve yalnızca bu işlevi kullanmak için Boost Range kitaplığını öğrenmek için çok fazla zaman harcamak istemedim.

Bir dizge kapsayıcısında Join'in nasıl kullanılacağına dair iyi bir örnek verilebilir mi? Teşekkürler.


30
Yükseltme kitaplığı "foo" için örnekler ararken, boost / libs / foo / samples ve boost / libs / foo / test'e bakmak genellikle iyi bir fikirdir. Mevcut durumda, boost / libs / algoritma / string / test / join_test.cpp
Éric Malenfant

Yanıtlar:


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

Çıktı:

Hello, World!

4
Özel türleri destekleyebilir mi? Örneğin, sınıfın bir değer döndüren Abir yöntemi ToStringvardır. stringA'yı her bir öğeyi çağırarak joinbirleştirmek için kullanabilir miyim ? vector<A>ToString
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
Bu cevap, eskisine göre daha az çaba gösterir ve katma değer sağlamaz. Neden hala burada var?
arekolek
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.