2013-02-11 27 views
7

में लगातार मूल्य सीएस ++ तरीके के समान सामान्य कोड में जंग भाषा निरंतर मानों का समर्थन करता है? ऐसा लगता है कि भाषा overview विज्ञापन नहीं देती है। सी ++ में स्थिरांक वाले पैरामीटरेटिंग प्रकार क्लाइंट की ज़रूरतों के आधार पर विभिन्न आकार के प्रीलाक्टेड बफर के साथ ऑब्जेक्ट्स बनाने की अनुमति देता है (stlsoft :: auto_buffer जैसे प्रकार)।
यदि नहीं, तो जंग में समान डिज़ाइन को लागू करने के लिए सबसे अच्छा अभ्यास क्या है?जंग जेनेरिक

उत्तर

8

नहीं, यह एक प्रकार-सुरक्षित तरीके से समर्थित नहीं है। हमें टाइप-लेवल न्यूमेरिक लिटरेल्स की आवश्यकता होगी, जैसे कि हाल ही में जीएचसी ने जोड़ा।

हालांकि, आप जंग मैक्रोज़ का उपयोग कर सकते हैं। एक मैक्रो के साथ आप "टेम्पलेट्स" बना सकते हैं जो कि मनमाने ढंग से अभिव्यक्तियों पर पैरामीटरकृत होते हैं, जिसमें स्थिरांक शामिल हैं, जो आपको यहां जो कुछ भी करना चाहते हैं उसे करने की अनुमति देगा। ध्यान दें कि यदि आप इस समय कोशिश करते हैं तो आपको मैक्रो सिस्टम में बग और सीमाएं मिल सकती हैं।

+0

मैक्रोज़ मूल भाषा की तुलना में एलियंस की तरह दिखते हैं। क्या जंगली भविष्य में फ़ंक्शन के सामान्य पैरामीटर होने के लिए संकलन समय अभिव्यक्तियों के लिए कोई कमरा छोड़ा गया है? – tivadj

+0

मैं एक फ़ंक्शन पर एक प्रकार को पैरामीट्रिज़ करना चाहता हूं। मैक्रोज़ के साथ ऐसा करने के लिए अधिकांश कॉल साइटों पर फ़ंक्शन के पुनर्वितरण की आवश्यकता होगी। वैकल्पिक रूप से, मैं इसे सुलभ बनाने के लिए संरचना के भीतर कई अलग-अलग स्थानों में "मूल्य" के रूप में फ़ंक्शन को "स्टोर" कर सकता हूं। तो मूल्यों पर parametrization वास्तव में अच्छा होगा! – dhardy

+0

मेरी समस्या का समाधान किसी फ़ंक्शन पर पैरामीट्रिज नहीं करना है, लेकिन एक निश्चित विशेषता को लागू करने के लिए एक प्रकार (शायद एक खाली संरचना) पर ऐसा करना है। कम से कम सिद्धांत में; मैं या कंपाइलर की जटिलता में समस्याएं आ रही हैं। – dhardy