C++-এ new কীওয়ার্ড ব্যবহার করে ডাইনামিক অ্যারে তৈরি করা যায় এবং delete কীওয়ার্ড দিয়ে মেমরি মুক্ত করা যায়। এটি রানটাইমে অ্যারের আকার নির্ধারণ করার সুবিধা দেয়।
উদাহরণ কোড
#include <iostream>
using namespace std;
int main() {
int i, n;
cout << "Enter total number of elements: " << "\n";
cin >> n;
// ডাইনামিক অ্যারে অ্যালোকেশন
int *a = new int[n]; // নোট: new int(n) ভুল, new int[n] সঠিক
cout << "Enter " << n << " elements" << endl;
for (i = 0; i < n; i++) {
cin >> a[i];
}
cout << "Entered elements are: ";
for (i = 0; i < n; i++) {
cout << a[i] << " ";
}
cout << endl;
// মেমরি ডি-অ্যালোকেশন
delete[] a; // অ্যারের জন্য delete[] ব্যবহার করুন
return 0;
}
আউটপুট
Enter total number of elements: 7 Enter 7 elements 1 2 3 4 5 6 7 Entered elements are: 1 2 3 4 5 6 7
গুরুত্বপূর্ণ সংশোধন:
- মূল কোডে
new int(n)লেখা ছিল যা একটি ইন্টিজার অ্যালোকেট করে এবং মানnদিয়ে ইনিশিয়ালাইজ করে। অ্যারের জন্যnew int[n]ব্যবহার করতে হয়। - অ্যারে ডিলিট করার সময়
delete[] aব্যবহার করতে হয়, শুধুdelete aনয়।delete aব্যবহার করলে অনডিফাইনড বিহেভিয়র হয়। - আধুনিক C++-এ (C++11+)
std::vectorবাstd::unique_ptrব্যবহার করা ভালো প্র্যাকটিস।