वास्तव में, मुझे नहीं लगता कि बढ़ावा देने वाली लाइब्रेरी विरासत बनने जा रही है।
हाँ, आप का उपयोग करने के लिए सक्षम होना चाहिए std::type_traits
, regex
, shared_ptr
, unique_ptr
, tuple<>
, std::tie
, std::begin
बूस्ट Typetraits के बजाय / उपयोगिता, Smartpointer बूस्ट, बूस्ट टपल, रेंज पुस्तकालयों को बढ़ावा, लेकिन वहाँ व्यवहार में 'स्विच' के लिए कोई वास्तविक आवश्यकता होना चाहिए जब तक कि आप अधिक से आगे बढ़ रहे हैं आपका कोड c ++ 11 के लिए।
इसके अलावा, मेरे अनुभव में, std
इनमें से अधिकांश के संस्करण कुछ कम विशेषता वाले हैं। उदाहरण के लिए AFAICT में मानक नहीं है
- Perl5 नियमित अभिव्यक्ति
- call_traits
- कुछ रेगेक्स इंटरफ़ेस सदस्य (जैसे कि
bool boost::basic_regex<>::empty()
) और इंटरफ़ेस इंटरफ़ेस अंतर
- यह बूस्ट के बाद से अधिक काटता है, बूस्ट एक्सपेक्टिव के साथ बिल्कुल मेल खाता है
- और यह बूस्ट स्ट्रिंग एल्गोरिदम के साथ बहुत अधिक अच्छी तरह से खेलता है जाहिर है, बाद में मानक समकक्षों (अभी तक) नहीं है?
- TMP (बूस्ट फ्यूजन) से संबंधित कई बातें
आलसी, अभिव्यक्ति टेम्पलेट-आधारित लंबदा; उनके पास अपरिहार्य लाभ हैं कि वे आज पॉलीमॉर्फिक हो सकते हैं , जैसा कि C ++ 11 के विपरीत है। इसलिए वे अक्सर अधिक रसीला हो सकते हैं:
std::vector<int> v = {1,2,-9,3};
for (auto i : v | filtered(_arg1 >=0))
std::cout << i << "\n";
// or:
boost::for_each(v, std::cout << _arg1);
सबसे निश्चित रूप से, यह अभी भी C ++ 11 लैम्ब्डा पर कुछ अपील है (वापसी के प्रकारों के साथ, स्पष्ट कैप्चरिंग और घोषित पैरामीटर)।
इसके अलावा, बूस्ट के लिए एक बड़ी भूमिका है, ठीक C ++ 03 से C ++ 11 तक पथ-वार प्रवास को सुविधाजनक बनाने और C ++ 11 और C ++ 03 कोडबेस को एकीकृत करने में। मैं विशेष रूप से सोच रहा हूँ
- बूस्ट ऑटो (BOOST_AUTO)
- बूस्ट यूटिलिटी (
boost::result_of<>
और संबंधित)
- बूस्ट फोर्च (BOOST_FOREACH)
- भूल न करें: बूस्ट मूव - जो एक सिंटैक्स के साथ मूव शब्दार्थ के साथ कक्षाएं लिखना संभव बनाता है जो बूस्टर 1_48 + और सी ++ 11 संकलक के साथ C ++ 03 संकलक पर समान रूप से संकलित करेगा।
बस मेरी $ 0.02