बढ़ावा देने के लिए एक अच्छा उदाहरण :: एल्गोरिथ्म :: में शामिल हों


116

मैं हाल ही में बढ़ावा देने का उपयोग करना चाहता था :: एल्गोरिथ्म :: शामिल हों, लेकिन मुझे कोई उपयोग उदाहरण नहीं मिला और मैं इस एक फ़ंक्शन का उपयोग करने के लिए बूस्ट रेंज लाइब्रेरी सीखने में बहुत समय का निवेश नहीं करना चाहता था।

किसी को तार के कंटेनर में शामिल होने का उपयोग करने का एक अच्छा उदाहरण प्रदान कर सकता है? धन्यवाद।


30
जब बूस्ट लाइब्रेरी "फू" के लिए उदाहरणों की तलाश करते हैं, तो अक्सर बूस्ट / लिबास / फू / उदाहरणों को देखना और बूस्ट / लिबास / फू / टेस्ट को देखना एक अच्छा विचार है। वर्तमान मामले में, आप बूस्ट / लिबास / एल्गोरिदम / स्ट्रिंग / टेस्ट / join_test.cpp देख सकते हैं
15ric Malenfant

जवाबों:


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

आउटपुट:

Hello, World!

4
क्या यह कस्टम प्रकारों का समर्थन कर सकता है? उदाहरण के लिए, कक्षा Aमें एक विधि है ToStringजो एक stringमान लौटाता है । क्या मैं प्रत्येक तत्व को कॉल करके joinशामिल होने के लिए उपयोग कर सकता हूं ? vector<A>ToString
केन झांग

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
यह उत्तर पुराने वाले की तुलना में कम प्रयास दिखाता है और कोई अतिरिक्त मूल्य प्रदान नहीं करता है। यह अभी भी यहां क्यों मौजूद है?
अकोलेक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.