मैंने देखा कि @GMan ने विविधता वाले टेम्पलेट्स के लिए a version of sizeof...
लागू किया है (जहां तक मैं कह सकता हूं) sizeof...
में निर्मित के बराबर है। क्या यह दूसरे डिजाइन सिद्धांत के खिलाफ नहीं जाता है: prefer libraries to language extensions?सी ++ 0x में ऑपरेटर क्यों है ... ऑपरेटर?
उत्तर
Variadic Templates (Revision 3) (N2080=06-0150) से, पृष्ठ 6: एक आम आपरेशन
हालांकि सख्ती से आवश्यक नहीं (हम इस सुविधा के बिना
count
लागू कर सकते हैं), एक पैरामीटर पैक की लंबाई की जाँच है कि एक सरल वाक्यविन्यास के योग्य है। इसके अलावा, यह ऑपरेशन टाइप-जांच कारणों के लिए आवश्यक हो सकता है जब विविध टेम्पलेट अवधारणाओं के साथ संयुक्त होते हैं; धारा 3.3 देखें।
(धारा अवधारणाओं जो अब अप्रासंगिक है के बारे में 3.3 बात करती है।)
sizeof...
सिर्फ चीनी है, मुझे लगता है।
sizeof
वास्तव में भाषा के लिए कोर के रूप में ...
है, और हालांकि एक countof
समारोह मौजूद हो सकता है हम पहले से ही sizeof
और ...
सुरक्षित तो हम साथ ही यह सुविधाजनक गिनती कि जिस तरह से प्राप्त करने के लिए कर सकता है है।
असल में, यदि sizeof
और ...
आरक्षित नहीं थे, तो ऐसी चीज जोड़ने का विचार संभवतः विफल हो गया था क्योंकि नए कीवर्ड पर फंसे हुए हैं। (कम बेहतर है।)
- 1. नया सी ++ 0x रावल्यू संदर्भ ऑपरेटर ओवरलोड
- 2. सी ++ में ऑपरेटर -> * ऑपरेटर क्या है?
- 3. सी ++ ऑपरेटर + और ऑपरेटर + = अधिभार
- 4. ऑपरेटर = सी ++
- 5. सी # में ऑपरेटर "??" क्या है?
- 6. C++ 0x decltype और गुंजाइश संकल्प ऑपरेटर
- 7. क्या सी # ऑपरेटर है?
- 8. सी # '?' क्या है ऑपरेटर
- 9. सी ++ 0x, उपयोगकर्ता ऑपरेटर के साथ उपयोगकर्ता परिभाषित अक्षर "" (0
- 10. सी/सी ++ में कोई || = ऑपरेटर क्यों नहीं है?
- 11. सी # में इसका क्या अर्थ है: = ऑपरेटर द्वारा ऑपरेटर?
- 12. ऑपरेटर सी
- 13. ऑपरेटर [] [] सी ++
- 14. सी # में Coalesce ऑपरेटर?
- 15. सी # ?? रुबी में ऑपरेटर?
- 16. ऑपरेटर सी ++
- 17. पारी ऑपरेटर
- 18. सी अल्पविराम ऑपरेटर
- 19. क्यों नहीं है -> [] सी ++ में एक ऑपरेटर? (dereferenced सरणी पॉइंटर्स के लिए एक सबस्क्रिप्ट ऑपरेटर)
- 20. सी ++ में परिणामों में ओवरलोडिंग तुलना ऑपरेटर "अवैध ऑपरेटर <"
- 21. क्यों "हटाएं [] [] ... multDimensionalArray;" सी ++ में ऑपरेटर मौजूद नहीं है
- 22. क्यों स्कैनफ को ऑपरेटर
- 23. क्यों सी # ऑपरेटर अधिभार स्थिर होना चाहिए?
- 24. !! सी ऑपरेटर, दो नहीं है?
- 25. '-' ऑपरेटर
- 26. ऑपरेटर | =
- 27. मानचित्र/फ़ोल्ड ऑपरेटर (सी ++ में)
- 28. सी # में ओवरलोडिंग असाइनमेंट ऑपरेटर
- 29. ऑपरेटर() को ओवरराइड क्यों करें?
- 30. हमें "हटाएं []" ऑपरेटर की आवश्यकता क्यों है?
'sizeof ...' भी टेम्पलेट और समारोह पैरामीटर पैक करने के लिए समान रूप से अच्छी तरह से लागू किया जा सकता। तो 'आकार ... (टी) 'और' आकार ... (टी) 'समान रूप से अच्छी तरह से काम करते हैं। लाइब्रेरी आधारित समाधान टेम्पलेट या फ़ंक्शन पैरामीटर पैक के साथ काम करेगा, लेकिन दोनों के साथ नहीं, मुझे विश्वास है। क्योंकि एक विस्तार प्रकार के अनुक्रम उत्पन्न करता है, और अन्य विस्तार अभिव्यक्ति का अनुक्रम उत्पन्न करता है। शायद इसे 'टेम्पलेट स्ट्रक्चर गिनती' के रूप में लिखना; और फिर पैक को 'गिनती ' के रूप में पास कर सकता है। चूंकि 'आकार' दोनों प्रकार और अभिव्यक्तियों को संभाल सकता है जो काम करने लगते हैं, लेकिन यह स्पष्ट रूप से उलझन में है :) –