কম্পিউটার টিউটোরিয়াল

C++-এ ডাইনামিক অ্যারে ইনিশিয়ালাইজেশন: ফাংশন থেকে লোকাল অ্যারে রিটার্ন

C++-এ ফাংশন থেকে লোকাল অ্যারে রিটার্ন করা সরাসরি সম্ভব না কারণ ফাংশন শেষ হলে লোকাল ভ্যারিয়েবল ডিস্ট্রয় হয়। সমাধান: ডাইনামিক্যালি অ্যালোকেট করা অ্যারে (হিপে) রিটার্ন করা।

উদাহরণ কোড

#include <iostream>
using namespace std;

// ফাংশন থেকে ডাইনামিক অ্যারে রিটার্ন
int* Array() {
    int* a = new int[100];  // হিপে অ্যালোকেট
    a[0] = 7;
    a[1] = 6;
    a[2] = 4;
    a[3] = 5;
    return a;  // পয়েন্টার রিটার্ন
}

int main() {
    int* p = Array();
    cout << "The elements are: " << p[0] << " " << p[1]
         << " " << p[2] << " " << p[3];
    delete[] p;  // মেমরি মুক্ত করা জরুরি
    return 0;
}

আউটপুট

The elements are: 7 6 4 5

সাবধানতা: কলারের দায়িত্ব delete[] কল করে মেমরি মুক্ত করা। ভুল করলে মেমরি লিক হবে। ভালো প্র্যাকটিস: std::vector বা std::unique_ptr<int[]> রিটার্ন করুন।

  1. C++-এ new ব্যবহার করে ডাইনামিক ২D অ্যারে ঘোষণা

  2. C#-তে অ্যারে ইনিশিয়ালাইজেশন (Array Initialization)

  3. C#-এ রেক্ট্যাঙ্গুলার অ্যারে ইনিশিয়ালাইজ করা

  4. জাভা ৯-এ JShell-এ অ্যারে ইনিশিয়ালাইজ করার পদ্ধতি