কম্পিউটার

C++ এ একটি ধ্বংসকারী এবং একটি বিনামূল্যের ফাংশনের মধ্যে পার্থক্য কী?


এখানে আমরা C++-এ destructor এবং free() ফাংশনের মধ্যে পার্থক্যগুলি দেখব। ধ্বংসকারী বস্তুটি ধ্বংস হওয়ার ঠিক আগে কিছু ক্রিয়া সম্পাদন করতে ব্যবহৃত হয়। এই ক্রিয়াটি মেমরি মুক্ত নাও করতে পারে, তবে কিছু সাধারণ কাজ করতে পারে যেমন স্ক্রিনে একটি বার্তা প্রদর্শন করা৷

ফ্রি() ফাংশনটি C-তে ব্যবহৃত হয়, C++-এ, আমরা ডিলিট কীওয়ার্ড ব্যবহার করেও একই কাজ করতে পারি। যখন অবজেক্টটি free() বা ডিলিট ব্যবহার করে মুছে ফেলা হয়, তখন ধ্বংসকারীকে আহ্বান করা হয়। ধ্বংসকারী ফাংশন কোন যুক্তি নেয় না এবং কিছুই ফেরত দেয় না। এই ফাংশনটিকে বলা হয় যখন ফ্রি বা ডিলিট ব্যবহার করা হয়, বা অবজেক্ট সুযোগের বাইরে চলে যায়।

উদাহরণ

#include<iostream>
#include<cstdlib>
using namespace std;
class MyClass {
   public:
      ~MyClass() {
         cout << "Destructor of MyClass" << endl;
      }
};
int main() {
   MyClass *obj;
   obj = new MyClass();
   delete obj;
}

আউটপুট

Destructor of MyClass

কখনও কখনও free() ফাংশন ধ্বংসকারীকে কল নাও করতে পারে, কিন্তু মেমরি থেকে বিষয়বস্তু মুছে ফেলতে পারে। তাই এখানে আমরা free().

এর জায়গায় ডিলিট কীওয়ার্ড ব্যবহার করেছি
  1. একটি পদ্ধতি এবং একটি ফাংশন মধ্যে পার্থক্য কি?

  2. জাভাস্ক্রিপ্ট এবং C++ এর মধ্যে পার্থক্য কি?

  3. জাভাস্ক্রিপ্টে ফাংশন এবং পদ্ধতির মধ্যে পার্থক্য কী?

  4. C++ এ ডট (.) অপারেটর এবং -> এর মধ্যে পার্থক্য কী?