এখানে আমরা C++ এ ভোলাটাইল কোয়ালিফায়ারের অর্থ কী তা দেখব। উদ্বায়ী কোয়ালিফায়ার একটি ভেরিয়েবলে প্রয়োগ করা হয় যখন আমরা এটি ঘোষণা করি। এটি কম্পাইলারকে বলতে ব্যবহৃত হয় যে মান যে কোনো সময় পরিবর্তিত হতে পারে। এগুলি উদ্বায়ী কিছু বৈশিষ্ট্য।
- অস্থির কীওয়ার্ড মেমরি অ্যাসাইনমেন্ট মুছে ফেলতে পারে না
- এটি রেজিস্টারে ভেরিয়েবল ক্যাশ করতে পারে না।
- অ্যাসাইনমেন্টের ক্রমে মান পরিবর্তন করা যাবে না।
আসুন দেখি, কিভাবে আমরা উদ্বায়ী কীওয়ার্ড ব্যবহার করতে পারি।
volatile int a; int volatile a;
এখানে এই দুটি ঘোষণা সঠিক। অন্যান্য ডেটাটাইপের মতো, আমরা উদ্বায়ী পয়েন্টার, কাঠামো, ইউনিয়ন ইত্যাদি ব্যবহার করতে পারি। উদ্বায়ী কাঠামো এবং ইউনিয়নগুলি নিজেই উদ্বায়ী হতে পারে এবং তাদের সদস্য ভেরিয়েবলগুলিও উদ্বায়ী ধরনের হতে পারে।
উদ্বায়ী বিভিন্ন জায়গায় ব্যবহৃত হয়। মেমরি ম্যাপ করা পেরিফেরাল রেজিস্টারের জন্য, কিছু গ্লোবাল ভেরিয়েবল, যা কিছু অন্যান্য ফাংশন দ্বারা অ্যাক্সেস করা হয় বা পরিষেবার রুটিনগুলিকে বাধা দেয়, বা কিছু মাল্টি-থ্রেডেড অ্যাপ্লিকেশনগুলিতে, উদ্বায়ী ব্যবহার করা যেতে পারে৷
উদাহরণ
int main (){ int value; value++; }i nt main (){ volatile int value; value++; }
কোড দুটি ব্লক আছে. প্রথম ব্লকে উদ্বায়ী কীওয়ার্ডটি নেই। সুতরাং প্রথম ক্ষেত্রে, ভেরিয়েবলটি মেমরি থেকে CPU রেজিস্টারে অনুলিপি করা হবে, তারপরে অপারেশনগুলি সঞ্চালিত হয়। দ্বিতীয় ক্ষেত্রে উদ্বায়ী উপস্থিত। তাই এই ক্ষেত্রে ভেরিয়েবলটি মেমরি থেকে রেজিস্টারে কপি করা হবে না।