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

C/C++-এ গ্লোবাল ভেরিয়েবল কেন খারাপ?


গ্লোবাল ভেরিয়েবল প্রোগ্রামে যেকোনো ফাংশনের বাইরে ডিক্লেয়ার এবং ডিফাইন করা হয়। সেগুলো প্রোগ্রামের লাইফটাইম পূরণ পর্যন্ত তাদের মান ধরে রাখে। সেগুলো প্রোগ্রাম এক্সিকিউশন পূরণ পর্যন্ত অ্যাক্সেসযোগ্য থাকে।

Non-const গ্লোবাল ভেরিয়েবল খারাপ কারণ তাদের মান যেকোনো ফাংশন দ্বারা পরিবর্তন করা যায়। গ্লোবাল ভেরিয়েবল ব্যবহার প্রোগ্রামের মডুলারিটি এবং ফ্লেক্সিবিলিটি কমায়। প্রোগ্রামে গ্লোবাল ভেরিয়েবল ব্যবহার না করার পরামর্শ দেয়া হয়। বদলে লোকাল ভেরিয়েবল ব্যবহার করা উচিত।

নেমিং কollision এড়াতে এবং ভেরিয়েবলটি গ্লোবাল বুঝাতে ভেরিয়েবল নামের প্রিফিক্স হিসেবে 'g_' ব্যবহার করা যেতে পারে। আরেকটি উপায় হলো ভেরিয়েবলকে static করে এনক্যাপসুলেট করা।

C-তে গ্লোবাল ভেরিয়েবল উদাহরণ:

উদাহরণ

#include <stdio.h>
int g_var;
static g_var1;
int main() {
    int a = 15;
    int b = 20;
    g_var = a + b;
    g_var1 = a - b;
    printf("a = %d\nb = %d\ng_var = %d\n", a, b, g_var);
    printf("g_var1 = %d", g_var1);
    return 0;
}

আউটপুট

a = 15
b = 20
g_var = 35
g_var1 = -5

  1. C++ লোকাল এবং গ্লোবাল ভেরিয়েবল ডিফল্টভাবে কীভাবে ইনিশিয়ালাইজ হয়?

  2. C++-এ ভেরিয়েবলের স্টোরেজ ক্লাস

  3. C#-এ গ্লোবাল ভেরিয়েবল (Global Variables) কেন নেই?

  4. ম্যাক গেমিং-এ খারাপ কেন?