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

C++-এ স্ট্যাটিক অবজেক্ট কখন ডিস্ট্রয় হয়?


স্ট্যাটিক অবজেক্ট static কীওয়ার্ড দিয়ে ঘোষণা করা হয়। সেগুলো শুধু একবার ইনিশিয়ালাইজ হয় এবং স্ট্যাটিক স্টোরেজ এরিয়ায় সংরক্ষিত থাকে। স্ট্যাটিক অবজেক্টগুলো প্রোগ্রাম টারমিনেট হলে ডিস্ট্রয় হয় অর্থাৎ সেগুলো প্রোগ্রাম শেষ হওয়া পর্যন্ত জীবিত থাকে।

C++-এ স্ট্যাটিক অবজেক্ট প্রদর্শন করে একটি প্রোগ্রাম নিচে দেওয়া হল।

উদাহরণ

#include <iostream>
using namespace std;

class Base {
public:
    int func() {
        int a = 20;
        cout << "The value of a : " << a;
    }
};

int main() {
    static Base b;
    b.func();
    return 0;
}

আউটপুট

উপরোক্ত প্রোগ্রামের আউটপুট নিম্নরূপ।

The value of a : 20

এখন আসুন উপরের প্রোগ্রামটি বুঝি।

Base ক্লাসের func() ফাংশনে একটি int ভেরিয়েবল a ঘোষণা করা হয়েছে এবং তারপর a-এর মান প্রদর্শন করা হয়েছে। এটি দেখানোর কোড স্নিপেট নিচে দেওয়া হল।

class Base {
public:
    int func() {
        int a = 20;
        cout << "The value of a : " << a;
    }
};

main() ফাংশনে, Base ক্লাসের একটি স্ট্যাটিক অবজেক্ট b তৈরি করা হয়েছে। তারপর func() ফাংশনটি কল করা হয়েছে। যেহেতু অবজেক্ট b স্ট্যাটিক, তাই সেটি প্রোগ্রাম টারমিনেট হলে ডিস্ট্রয় হবে। এটি দেখানোর কোড স্নিপেট নিচে দেওয়া হল।

int main() {
    static Base b;
    b.func();
    return 0;
}

  1. সি++-এ তিনটি বিন্দু সমরৈখিক (collinear) কিনা তা যাচাই করার প্রোগ্রাম

  2. C++-এ স্ট্যাটিক ক্লাস মেম্বার কখন ইনিশিয়ালাইজ হয়?

  3. C++-এ লোকাল ভেরিয়েবল কী?

  4. C++-এ signed এবং unsigned কিওয়ার্ড