माइग्रेशन? मैंने सोचा कि WG21 सभी संगतता को संरक्षित रखने के लिए कड़ी मेहनत कर रहा है। जब तक आप निर्यात का उपयोग नहीं करते हैं, आपको माइग्रेशन की आवश्यकता नहीं है, मौजूदा कोड ठीक है।
मुझे लगता है कि आप वास्तव में सी ++ 11 सुविधाओं को लेने के लिए मौजूदा कोड को दोबारा करने के लिए सवाल का मतलब है। यहां मैं रिफैक्टरिंग के बारे में सामान्य ज्ञान लागू करूंगा - कभी भी उचित लक्ष्य और मूल्य-आधारित प्रेरणा के बिना इसे न करें।
बस उस नई चमकदार सुविधाओं को पेश किया गया है जो आपके कोड पर तकनीकी ऋण लागू नहीं करता है।
मेरा सुझाव है कि आप नए कोड में नई सुविधाओं का उपयोग शुरू करें, और अधिक उदार परिवर्तन लागू करें जहां आप अलग-अलग कारणों से वैसे भी प्रतिक्रिया करते हैं। और सामान्य रूप से रीशेप में सोचना शुरू करें जब कई शैलियों को वास्तविक दर्द माना जाता है। (सी ++ के बहु-प्रतिमान प्रकृति आम तौर पर काफी ज्यादा स्वतंत्रता की अनुमति चाहिए, और समान दृष्टिकोण कभी कभी ही बाध्य करते हैं।)
नई सुविधाओं मैं पर क्या ध्यान केंद्रित था से:
- ऑटो। मेरा नया कोड
auto const
और auto const&
प्रकारों को छोड़कर स्थानीय लोगों से भरा है। ठीक है, एक ने ग्लोबलरेप्लेस का सुझाव दिया जो मैंने पहले कहा था: यदि आपके द्वारा उपयोग किए जाने वाले लूप के लिए इटेटरेटर उपयोग ऑटो द्वारा प्रतिस्थापित करें।
- lambdas, यदि आप एक शॉट कार्यों के साथ algos का उपयोग
- नई सूत्रण सामान, विशेष रूप से
std::future
परियोजना
पर लागू होता है अगर आप 'std :: auto_ptr' शायद एक अच्छे उम्मीदवार उपयोग करने के लिए होते हैं तो वैश्विक स्तर के लिए भी।
मैंने आगे बढ़ने वाले अर्थशास्त्र छोड़ दिए क्योंकि मैं अभी तक उन पर कूदने के लिए नहीं हूं, प्रभाव के बारे में सुनिश्चित नहीं हूं, इसलिए मैं इसे दूसरों के सुझाव देने या नहीं छोड़ने के लिए छोड़ देता हूं।
स्रोत
2013-06-02 11:14:11
आपको पता नहीं चलेगा कि पोर्टिंग शुरू होने तक आपको किन परिवर्तनों की आवश्यकता है। सबसे अधिक संभावना है कि, किसी भी बदलाव की आवश्यकता नहीं होगी, लेकिन आप पूर्ण अग्रेषण, प्रतिस्थापन, आदि जैसे चीजों का लाभ उठाकर लाभ प्राप्त कर सकते हैं (अक्सर आवंटित/प्रतिलिपि/मुक्त चक्रों से परहेज करते हैं)। –
जब तक आप स्टोरेज अवधि विनिर्देशक के रूप में 'ऑटो' कीवर्ड का उपयोग नहीं कर रहे थे (इसे C++ 11 में टाइप अनुमान के लिए उपयोग किया जा रहा है) मुझे नहीं लगता कि आपको कुछ भी बदलना होगा। – jrok
मुझे पता है कि 'सी ++ 11' नई सुविधा के साथ पिछड़ा संगत है। लेकिन क्या कोई विशिष्ट परिवर्तन उदाहरण उदाहरण कंपाइलर संस्करण है? –