मैं सिर्फ उन कारणों के लिए क्यूटी का उपयोग करने से बचना नहीं चाहूंगा। आपको क्यूटी के सभी उपयोगिता वर्गों का उपयोग करने की आवश्यकता नहीं है; उन लोगों के लिए जो एसटीएल की जगह लेते हैं, आप सबसे अधिक QString और संभवतः, QStringList का उपयोग करने के लिए मजबूर होंगे। इसके अलावा, GUI की तुलना में आमतौर पर एक कार्यक्रम के लिए बहुत अधिक है। आप हमेशा अपने प्रोग्राम के बाकी हिस्सों के लिए विशेष रूप से जेनेरिक C ++ का उपयोग कर सकते हैं, और केवल GUI के लिए Qt का उपयोग कर सकते हैं।
मेरी राय में, एसटीएल के साथ काम करना यह समझने के बारे में है कि अंतर्निहित डेटा संरचनाओं का उपयोग क्या किया जाता है और उनकी जटिलताएं, और परिणामस्वरूप, जिस समय आपको प्रत्येक कंटेनर का उपयोग करना चाहिए। और जब यह सी ++ प्रोग्रामिंग की बात आती है, तो यह विशेष रूप से यह जानने के बारे में है कि बहुत आवश्यक <एल्गोरिथम> हेडर का उपयोग कैसे किया जाए, जो कि क्यूटी के कंटेनरों पर भी काम करना चाहिए, क्योंकि वे एसटीएल-संगत हैं।
मुझे उन सभी एक्सटेंशन Qt प्रदान करने में बहुत नुकसान नहीं दिखता है, जब तक आप जानते हैं (या कम से कम एक सामान्य विचार है) कि वे आंतरिक रूप से कैसे लागू होते हैं। सुनिश्चित करें कि आप जानते हैं कि Q_OBJECT, SIGNAL (), SLOT (), foreach () जैसी चीजें जादू नहीं हैं, लेकिन मैक्रोज़ जो मान्य C ++ स्टेटमेंट में विस्तार करते हैं। उदाहरण के लिए, यह समझना जटिल नहीं है कि Qt को जावा और अधिक महसूस करने वाले अंतर्निहित साझा वर्ग और अभिभावक-बाल संबंध कैसे लागू होते हैं। आप हमेशा एक अलग परियोजना में कुछ कार्यक्षमता को फिर से बनाने की कोशिश कर सकते हैं बस यह देखने के लिए कि क्या आप इसे सामान्य सी ++ के साथ कर सकते हैं, और फिर क्यूटी में उनका उपयोग करने के लिए बुरा नहीं लग रहा है।
इसके अलावा, बूस्ट पुस्तकालयों पर एक नज़र डालें। वे अतिरिक्त उपयोगिताओं प्रदान करते हैं जो मानक सी ++ लाइब्रेरी नहीं करते हैं, और जेनेरिक सी ++ के लिए थोड़ा करीब आने का एक अच्छा तरीका है, क्योंकि वे अनिवार्य रूप से सामान्य सी ++ के समान सम्मेलनों का पालन करते हैं। कुछ पुस्तकालयों में काफी जटिल टेम्प्लेटेड कक्षाएं हैं, और बस यह समझने की कोशिश कर रहे हैं कि वे कैसे काम करते हैं, अपने आप में, C ++ में एक अच्छा अध्ययन है। बूस्ट में कई उपयोगिताओं हैं जो क्यूटी में नहीं मिल सकते हैं, और अन्य जो कि क्यूटी की कुछ कक्षाओं के समान या समान अवधारणाओं को लागू करते हैं और उनका उपयोग किया जा सकता है।
यदि आप C ++ के साथ काम करने वाले जॉब मार्केट को हिट करते हैं, तो संभावना है कि आप Qt या किसी अन्य फ्रेमवर्क के साथ काम करने जा रहे हैं, जो इसके समान है, इसकी अपनी उपयोगिता कक्षाएं होंगी जो C ++ को सरल बनाने की कोशिश करेंगी।