Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

การประกาศ Global Variable ใน C++

Global variable ประกาศนอกฟังก์ชัน/บล็อก ใส่ได้ทุกที่ในไฟล์ (ปกติวางบนสุด)

ในไฟล์เดียว

int g_x = 10; // global
int g_y = 20;

int main() { cout << g_x << g_y; }

ข้ามไฟล์ (Multiple Files)

ไฟล์ globals.cpp:

int g_x = 10;
int g_y = 20;

ไฟล์ main.cpp:

#include <iostream>
extern int g_x; // บอกคอมไพเลอร์ว่าตัวแปรอยู่ที่อื่น
extern int g_y;
int main() { cout << g_x << g_y; }

คอมไพล์

g++ globals.cpp main.cpp -o program

Best Practices

  • ลดการใช้ global variables ใช้ namespace หรือ singleton แทน
  • ใช้ extern ใน header file ประกาศ แล้ว define ใน .cpp เพียงที่เดียว
  • พิจารณา inline variables (C++17) สำหรับ header-only globals