C++ में new ऑपरेटर मेमोरी आवंटित करने के लिए परिभाषित है, इनिशियलाइज़ करने के लिए नहीं। यदि आप int प्रकार का एक ऐरे new ऑपरेटर से आवंटित करना चाहते हैं, और आप उन सभी को डिफ़ॉल्ट मान (यानी int के मामले में 0) से इनिशियलाइज़ करना चाहते हैं, तो आप निम्न सिंटैक्स का उपयोग कर सकते हैं:
सिंटैक्स
new int[10]();
ध्यान दें कि आपको केवल खाली पैरेंथेसिस का उपयोग करना चाहिए - आप उदाहरण के लिए (0) या कोई अन्य एक्सप्रेशन उपयोग नहीं कर सकते, इसलिए यह केवल डिफ़ॉल्ट इनिशियलाइज़ेशन के लिए उपयोगी है।
उसी मेमोरी को इनिशियलाइज़ करने के अन्य तरीके हैं जैसे fill_n, memset, आदि जिनका उपयोग आप ऑब्जेक्ट्स को नॉन-डिफ़ॉल्ट मानों पर इनिशियलाइज़ करने के लिए कर सकते हैं।
उदाहरण
#include<iostream>
#include <algorithm> // fill_n के लिए
#include <cstring> // memset के लिए
int main() {
int myArray[10];
// memset का उपयोग करके 0 से इनिशियलाइज़ करें
memset(myArray, 0, 10 * sizeof(int));
// लूप का उपयोग करके प्रत्येक तत्व को 1 असाइन करें
std::fill_n(myArray, 10, 1);
}