C++ में नए ऑपरेटर को मेमोरी आवंटित करने के लिए परिभाषित किया गया है न कि इनिशियलाइज़ करने के लिए। यदि आप नए ऑपरेटर के साथ int प्रकार की एक सरणी आवंटित करना चाहते हैं, और आप उन सभी को डिफ़ॉल्ट मान (यानी ints के मामले में 0) में प्रारंभ करना चाहते हैं, तो आप निम्न सिंटैक्स का उपयोग कर सकते हैं -
सिंटैक्स
new int[10]();
ध्यान दें कि आपको केवल खाली कोष्ठकों का उपयोग करना चाहिए - उदाहरण के लिए, आप (0) या अन्य अभिव्यक्ति का उपयोग नहीं कर सकते, इसलिए यह केवल डिफ़ॉल्ट आरंभीकरण के लिए सहायक है।
fill_n, memset, आदि का उपयोग करके उसी मेमोरी को इनिशियलाइज़ करने के अन्य तरीके हैं जिनका उपयोग आप ऑब्जेक्ट्स को नॉन डिफॉल्ट वैल्यू में इनिशियलाइज़ करने के लिए कर सकते हैं।
उदाहरण
#include<iostream> int main() { int myArray[10]; // Initialize to 0 using memset memset( myArray, 0, 10 * sizeof( int )); // Using a loop assigns the value 1 to each element std::fill_n(array, n, 1); }