2012-11-13 5 views
5

बूस्ट में कुछ सुविधाजनक फ़ंक्शन हैं जो आपको एक लाइन में एक कंटेनर भरने देते हैं।क्या क्यूटी के पास बूस्ट के असाइन मॉड्यूल के बराबर कुछ है?

उदाहरण के लिए, list_of आपको इस तरह की एक सूची भरने देता है।

#include <boost/assign/list_of.hpp> // for 'list_of()' 
#include <list> 
std::list<int> primes = boost::assign::list_of(2)(3)(5)(7)(11); 

मेरी परियोजना पर मैं क्यूटी का उपयोग कर रहा हूं और बूस्ट का उपयोग नहीं कर सकता। निर्माण के बिंदु पर क्यूटी के कंटेनरों को भरने के लिए एक समान सुविधाजनक तरीका है?

+0

आप बूस्ट का उपयोग क्यों नहीं कर सकते? –

+0

मुझे लगता है कि एक और लाइब्रेरी के साथ संघर्ष था जिसका हम उपयोग कर रहे थे। दिन के अंत में यह एक बड़े कोड-बेस का हिस्सा है और इस सुविधा के लिए हमारी बिल्ड प्रक्रिया में एक नई लाइब्रेरी पेश करने के लिए मेरे समय के लायक नहीं है! (बाकी सब कुछ मैं भरोसा करता हूं कि अब तक क्यूटी द्वारा बहुत अधिक कवर किया गया है।) –

उत्तर

12

आप QList उपयोग कर सकते हैं :: ऑपरेटर < <

QList<int> primes = QList<int>() << 2 << 3 << 5 << 7 << 11; 
6

संस्करण 4.8 से क्यूटी अधिकांश कंटेनर के लिए सी ++ 11 मानक प्रारंभिकरण का समर्थन करता है।

http://doc.qt.digia.com/4.8-snapshot/qt4-8-intro.html

+0

बूस्ट.एसिगिन का बिंदु प्री-सी ++ 11 कंपाइलर्स के लिए प्रारंभिक वाक्यविन्यास प्रदान करना है। –

+2

@ फिश और? सवाल बूस्ट के बारे में नहीं पूछ रहा है, यह पूछ रहा है कि क्यूटी कंटेनरों को इसी तरह से भर दिया जा सकता है या नहीं। और 4.8 के बाद से, यदि आप एक C++ 11 कंपाइलर का उपयोग कर सकते हैं। –

+0

सवाल यह पूछ रहा है कि क्यूटी के लिए समकक्ष पुस्तकालय है, जो एक पुस्तकालय या वाक्यविन्यास होगा जिसके लिए सी ++ 11 कंपाइलर की आवश्यकता नहीं है। –

संबंधित मुद्दे