Microsoft (मुख्य रूप से, हर्ब सटर ) , WinRT का उपयोग C ++ / CX के साथ करने की सिफारिश करता है, ताकि WinRT को आवेदन की सीमाओं पर रखा जा सके और मानक ISO C ++ में लिखे गए आवेदन का मूल रखा जा सके।
मैं एक एप्लिकेशन लिख रहा हूं, जिसे मैं पोर्टेबल छोड़ना चाहूंगा, इसलिए मेरी मुख्य कार्यक्षमता मानक C ++ में लिखी गई थी, और अब मैं C ++ / CX का उपयोग करके इसके लिए मेट्रो-स्टाइल फ्रंट एंड लिखने का प्रयास कर रहा हूं। मैं इस दृष्टिकोण के साथ एक समस्या है, हालांकि। उदाहरण के लिए, यदि मैं उपयोगकर्ता-निर्धारित C ++ प्रकार के वेक्टर को XAML ListView नियंत्रण पर धकेलना चाहता हूं, तो मुझे अपने उपयोगकर्ता-परिभाषित प्रकार को WinRT रेफ / मान प्रकार में लपेटना होगा, ताकि उसमें संग्रहीत किया जा सके Vector^
। इस दृष्टिकोण के साथ, मैं अनिवार्य रूप से WinRT वर्गों के साथ अपने C ++ वर्गों के एक बड़े हिस्से को लपेटने के साथ छोड़ दिया गया हूं।
यह पहली बार है जब मैंने C ++ में पोर्टेबल देशी एप्लिकेशन लिखने की कोशिश की है। क्या इस तरह की सीमाओं के साथ WinRT को रखना वास्तव में व्यावहारिक है? प्लेटफ़ॉर्म-विशिष्ट सीमा के साथ इस प्रकार के पोर्टेबल कोर को कैसे नियंत्रित किया जा सकता है?