কম্পিউটার

নতুন বনাম নতুন ছাড়া ব্যবহার করে একটি C++ অবজেক্ট ইনস্ট্যান্ট করার মধ্যে পার্থক্য কী?


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

C++ এ, নতুনটি গতিশীলভাবে মেমরি বরাদ্দ করতে ব্যবহৃত হয়।

উদাহরণ

#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++ এ একটি 2d ​​অ্যারে ঘোষণা করব

  2. C/ C++ এ new/delete এবং malloc/ free এর মধ্যে পার্থক্য কি?

  3. C/C++ এ const int*, const int * const এবং int const * এর মধ্যে পার্থক্য?

  4. C++ এ একটি সংজ্ঞা এবং একটি ঘোষণার মধ্যে পার্থক্য কী?