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

C++-এ new দিয়ে এবং new ছাড়া অবজেক্ট ইনস্ট্যানশিয়েট করার পার্থক্য


C++-এ, আমরা ক্লাস অবজেক্ট new কিওয়ার্ড ব্যবহার করে বা ছাড়াই ইনস্ট্যানশিয়েট করতে পারি। যদি new কিওয়ার্ড ব্যবহার না করা হয়, তবে এটি সাধারণ অবজেক্টের মতো হবে। এটি স্ট্যাক সেকশনে স্টোর হবে। স্কোপ শেষ হলে এটি নষ্ট হয়ে যাবে। কিন্তু যখন আমরা ডাইনামিক্যালি স্পেস অ্যালোকেট করতে চাই, তখন আমরা সেই ক্লাসের পয়েন্টার তৈরি করে new অপারেটর ব্যবহার করে ইনস্ট্যানশিয়েট করতে পারি।

C++-এ, new ডাইনামিক্যালি মেমরি অ্যালোকেট করতে ব্যবহৃত হয়।

উদাহরণ

#include <iostream>
using namespace std;

class Point {
    int x, y, z;
public:
    Point(int x, int y, int z) {
        this->x = x;
        this->y = y;
        this->z = z;
    }
    void display() {
        cout << "(" << x << ", " << y << ", " << z << ")" << endl;
    }
};

int main() {
    Point p1(10, 15, 20);
    p1.display();
    Point* ptr;
    ptr = new Point(50, 60, 70);
    ptr->display();
}

আউটপুট

(10, 15, 20) (50, 60, 70)

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

  2. C/C++-এ new/delete এবং malloc/free-এর পার্থক্য

  3. C/C++-এ const int*, const int * const, int const * পার্থক্য

  4. C++-এ ডিক্লেয়ারেশন (Declaration) এবং ডেফিনিশন (Definition) এর পার্থক্য