यदि सी ++ में मेरे पास कक्षा longUnderstandableName
है। उस वर्ग के लिए मेरे पास एक हेडर फ़ाइल है जिसमें इसकी विधि घोषणा है। कक्षा के लिए स्रोत फ़ाइल में, मुझे longUnderstandableName::MethodA
, longUnderstandableName::MethodB
और इसी तरह, हर जगह लिखना होगा।सी ++: "कक्षा नामस्थान"?
क्या मैं किसी भी तरह से नेमस्पेस या कुछ और उपयोग कर सकता हूं ताकि मैं कक्षा स्रोत फ़ाइल में MethodA
और MethodB
लिख सकूं, और केवल वहां?
अभी तक, जवाब नहीं है। ** लेकिन ** ... मौजूद है [भाषा में ** 'नेमस्पेस क्लास' ** जोड़ने का प्रस्ताव] (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/ 2016/p0223r0.html), जो आप वास्तव में प्राप्त करेंगे, और मैं चाहता हूं: पहले से घोषित वर्ग के सदस्यों की परिभाषा को एक ब्लॉक के भीतर सक्षम करना जो स्वचालित रूप से उन्हें कक्षा में गुंजाइश करेगा - और इस प्रकार कक्षा के नाम के दायरे, टेम्पलेट को निरंतर पुनः टाइप करने से बचें तर्क, इत्यादि। यह विचित्र है कि अब तक इसे लिया गया है और यह अभी भी प्रस्ताव चरण में है, लेकिन यहां हम हैं। आह! मुझे उम्मीद है कि यह इसे सी ++ 20 या जो कुछ भी बनाता है। –
@underscore_d अफसोस की बात है कि उस प्रस्ताव में 'वर्ग का उपयोग करके समकक्ष 'शामिल नहीं है, इसलिए यह अभी भी पूर्ण लचीलापन प्रदान नहीं करता है। – negamartin
@negamartin आप और क्या देख रहे हैं? कृपया एक उदाहरण प्रदान करें। मुख्य बिंदु यह है कि 'नेमस्पेस क्लास' कक्षा के लेखक के लिए इस पुनरावृत्ति को हल करेगी, जो परिप्रेक्ष्य है जिस से ओपी ने इस सवाल से पूछा। इस बीच, वर्ग के उपयोगकर्ता कुछ ऐसा कर सकते हैं जैसे 'tiny_type = someNamespace :: SomeOtherNamespace :: AHugeClassName; '। आपको और क्या चाहिए? –