স্ট্যাটিক স্টোরেজ ক্লাস কম্পাইলারকে প্রোগ্রামের জীবদ্দশায় একটি স্থানীয় ভেরিয়েবলকে অস্তিত্বে রাখার নির্দেশ দেয় প্রতিবার যখন এটি আসে এবং সুযোগের বাইরে যায় তখন এটি তৈরি এবং ধ্বংস করার পরিবর্তে। তাই, স্থানীয় ভেরিয়েবলগুলিকে স্ট্যাটিক করার ফলে তারা ফাংশন কলের মধ্যে তাদের মান বজায় রাখতে পারে।
স্ট্যাটিক মডিফায়ার গ্লোবাল ভেরিয়েবলেও প্রয়োগ করা যেতে পারে। যখন এটি করা হয়, এটি সেই ভেরিয়েবলের সুযোগকে সেই ফাইলের মধ্যে সীমাবদ্ধ করে দেয় যেখানে এটি ঘোষণা করা হয়৷
C++ এ, যখন কোনো ক্লাস ডেটা সদস্যের উপর স্ট্যাটিক ব্যবহার করা হয়, তখন এটি সেই সদস্যের শুধুমাত্র একটি অনুলিপি তার ক্লাসের সমস্ত বস্তুর দ্বারা ভাগ করে নেয়।
উদাহরণ
#include <iostream> void func( void ) { static int i = 10; // local static variable i++; std::cout << "i is " << i ; std::cout << " and count is " << count << std::endl; } static int count = 6; /* Global variable */ int main() { while(count--) { func(); } }
আউটপুট
এটি আউটপুট দেবে −
i is 10 and count is 5 i is 11 and count is 4 i is 12 and count is 3 i is 13 and count is 2 i is 14 and count is 1 i is 15 and count is 0