อายุการใช้งานของตัวแปร static ในฟังก์ชัน
ตัวแปร static ประกาศด้วยคีย์เวิร์ด static พื้นที่หน่วยความจำถูกจองเพียงครั้งเดียว และใช้ตลอดการทำงานของโปรแกรม
เมื่อประกาศแล้ว ตัวแปรจะมีอยู่จนโปรแกรมสิ้นสุด ดังนั้นอายุการใช้งานของตัวแปร static เท่ากับอายุของโปรแกรม
ตัวอย่างโปรแกรม
#include <iostream>
using namespace std;
void func() {
static int num = 1;
cout << "Value of num: " << num << "\n";
num++;
}
int main() {
func();
func();
func();
return 0;
}
ผลลัพธ์
Value of num: 1 Value of num: 2 Value of num: 3
ในฟังก์ชัน func(), num เป็น static variable เริ่มต้นเพียงครั้งเดียว แสดงค่า แล้วเพิ่มขึ้น 1 ใน main() เรียก func() 3 ครั้ง ตัวแปร num จองหน่วยความจำครั้งเดียว ไม่ได้จองใหม่ทุกครั้งที่เรียก