c++ - Can I have an array of integers for one constructor and a single integer for the other constructor? -
क्या निम्न कन्स्ट्रक्चर्स को उसी IntList वर्ग में अनुमति है?
< कोड> इंटलालिस्ट (पूर्ण लंबाई); IntList (इंट डेटा []);
यह ठीक है, लेकिन ध्यान दें कि बाद के रूप में int * डेटा , जो एक संकेतक है और एक सरणी नहीं है।
एरेएं गैर-प्रतिलिपि योग्य हैं और संदर्भ से पारित होनी चाहिए:
typedef int array_type [5]; IntList (कॉन्स्ट सरणी प्रकार और amp; arr); // उसी प्रकार से: IntList (कॉन्स्ट इंट (एंड एआर) [5]); आप टेम्पलेट का उपयोग करके किसी भी आकार की सरणी भी ले सकते हैं:
टेम्पलेट & lt; std :: size_t N & gt; IntList (कॉन्स्ट इंट (एआरएम) [एन]); // एन तत्वों की संख्या है लेकिन आपका दृष्टिकोण अंततः अपरंपरागत है। यदि आप डेटा की एक सीमा के साथ आरंभ करना चाहते हैं, तो इसे उपयोग करें:
टेम्पलेट & lt; typename InputIterator & gt; IntList (InputIterator प्रारंभ, InputIterator अंत); अब आप शुरू से अंत से पुनरावृति कर सकते हैं, जो कि किसी भी प्रकार के कंटेनर से हेरेटर हो सकते हैं, जैसे कि arrays, Std :: vector 's, std :: map और अधिक।
लेकिन आपको std :: vector & lt; int & gt; / Code> इसके बजाय IntList के बजाय।
Comments
Post a Comment