D
के बीच लिंक संगतता C
के साथ आसानी से इंटरफेस करता है।सी ++ और डी
D
बस C++
के साथ आसानी से इंटरफेस करता है, लेकिन (और यह एक बड़ा है) C++
बेहद तुच्छ होना आवश्यक है। कोड का उपयोग नहीं कर सकते हैं:
- नामस्थान
- टेम्पलेट्स गैर आभासी तरीकों
- अधिक के साथ
- एकाधिक वंशानुक्रम
- मिश्रण आभासी?
मैं विरासत प्रतिबंध पूरी तरह से समझता हूं। हालांकि बाकी कृत्रिम सीमाओं की तरह महसूस करते हैं। अब मैं सीधे std::vector<T>
का उपयोग करने में सक्षम नहीं होना चाहता, लेकिन मैं वास्तव में एक बाहरी टेम्पलेट के रूप में std::vector<int>
से लिंक करने में सक्षम होना चाहूंगा।
C++ interfacing page में यह विशेष रूप से निराशाजनक टिप्पणी है।
डी टेम्पलेट्स सी ++ टेम्पलेट्स के साथ आम में थोड़ा है, और यह बहुत संभावना नहीं उचित विधि किसी भी प्रकार डी
के साथ एक लिंक-संगत तरीका में सी ++ टेम्पलेट्स स्पष्ट रूप से पाया जा सकता है कि हैइसका मतलब यह है कि सी ++ एसटीएल, और सी ++ बूस्ट, संभावना डी
से
वैसे मैं probabl जाएगा सुलभ कभी नहीं होगा D
में कोडिंग करते समय वाई को std::vector
की आवश्यकता नहीं है, लेकिन मुझे QT या boost का उपयोग करना अच्छा लगेगा।
तो सौदा क्या है। डी में गैर-तुच्छ C++
कक्षाओं को व्यक्त करना इतना मुश्किल क्यों है? कम से कम नामस्थान व्यक्त करने के लिए कुछ विशेष टिप्पणियां या कुछ जोड़ने के लिए यह लायक नहीं होगा?
अद्यतन: Walter Bright से 'डी कार्यों में नाम स्थान समर्थन हासिल है। "
यह किसी भी मुख्यधारा सी ++ कंपाइलर द्वारा समर्थित नहीं है। आप दूसरी भाषा की सहायता क्यों करेंगे? –
@ हंस, क्या * इसका मतलब है? –
मुझे लगता है कि उसका मतलब है कि "कंपाइलर एक्स द्वारा उत्पादित सी ++ से लिंक करना" भी {मुख्यधारा सी ++ कंपाइलर्स} \ X द्वारा समर्थित नहीं है। – FeepingCreature