मैं बस सोच रहा हूं कि लूप का उपयोग किए बिना सभी शून्य मानों पर पॉइंटर्स की प्रारंभिक सरणी सेट करने का कोई तरीका है या नहीं?
class Abc{
//An array of 2000 Product pointers
Product* product_[2000];
public:
Abc();
}
जब कन्स्ट्रक्टर को बुलाया जाता है तो मैं सभी पॉइंटर्स को शून्य पर सेट करना चाहता हूं:
Abc::Abc(){
product_ = {};
}
यह काम नहीं करता है, product_ एक परिवर्तनीय मान होना चाहिए। क्या 2000 तत्वों को लूप करने का कोई आसान तरीका है?
धन्यवाद।
3 जवाब
आप इस्तेमाल कर सकते हैं:
class Abc{
//An array of 2000 Product pointers
Product* product_[2000];
public:
Abc() : product_{} {}
};
यदि आप std::array का उपयोग करते हैं तो उन्हें डिफ़ॉल्ट रूप से nullptr में प्रारंभ किया जाएगा।
std::array<Product *, 2000> product;
विजुअल स्टूडियो कंपाइलर के साथ आप नीचे की तरह इनिशियलाइज़र सूची में पॉइंटर्स को NULL में इनिशियलाइज़ कर सकते हैं-
class Abc{
//An array of 2000 Product pointers
Product* product_[2000];
public:
Abc():product_(){};
}
संबंधित सवाल
नए सवाल
c++
C ++ एक सामान्य-प्रयोजन प्रोग्रामिंग भाषा है। यह मूल रूप से C के विस्तार के रूप में डिज़ाइन किया गया था और इसमें एक समान सिंटैक्स है, लेकिन यह अब पूरी तरह से अलग भाषा है। C ++ कंपाइलर के साथ संकलित कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें। विशिष्ट मानक संशोधन [C ++ 11], [C ++ 14], [C ++ 17], [C ++ 20] या [C ++ 23], आदि से संबंधित प्रश्नों के लिए संस्करण-विशिष्ट टैग का उपयोग करें। ।