C++-এ new অপারেটর মেমরি এলোকেট করার জন্য ডিফাইন করা হয়েছে, ইনিশিয়ালাইজ করার জন্য নয়। আপনি যদি new অপারেটর দিয়ে int টাইপের একটি অ্যারে এলোকেট করতে চান, এবং সেগুলো সব ডিফল্ট ভ্যালুতে (অর্থাৎ int-এর ক্ষেত্রে ০) ইনিশিয়ালাইজ করতে চান, তবে আপনি নিচের সিনট্যাক্স ব্যবহার করতে পারেন:
সিনট্যাক্স
new int[10]();
মনে রাখবেন আপনাকে অবশ্যই খালি প্যারেনথেসিস ব্যবহার করতে হবে - আপনি (০) বা অন্য কোনো এক্সপ্রেশন ব্যবহার করতে পারবেন না, তাই এটি শুধু ডিফল্ট ইনিশিয়ালাইজেশনের জন্য উপযোগী।
এই মেমরিকে নন-ডিফল্ট ভ্যালুতে ইনিশিয়ালাইজ করার অন্যান্য মেথডও আছে যেমন fill_n, memset, ইত্যাদি যা আপনি অবজেক্টগুলোকে নন-ডিফল্ট ভ্যালুতে ইনিশিয়ালাইজ করতে ব্যবহার করতে পারেন।
উদাহরণ
#include <iostream>
int main() {
int myArray[10];
// memset ব্যবহার করে ০ দিয়ে ইনিশিয়ালাইজ
memset(myArray, 0, 10 * sizeof(int));
// লুপ ব্যবহার করে প্রতিটি এলিমেন্টে ১ অ্যাসাইন
std::fill_n(myArray, 10, 1);
}