Video: [Khóa học lập trình hướng đối tượng C#] - Bài 4: Từ khóa Static | HowKteam 2025
Một biến trong C ++ cần được gán một kiểu lưu trữ tùy thuộc vào nơi và cách nó được định nghĩa. Các biến được định nghĩa trong một hàm như nLocalVariable không tồn tại cho đến khi kiểm soát đi qua khai báo. Ngoài ra, nLocalVariable chỉ được định nghĩa trong fn () - biến sẽ ngừng tồn tại khi điều khiển thoát khỏi hàm fn ().
int nGlobalVariable; void fn () {int nLocalVariable; tĩnh int nStaticVariable = 1; nStaticVariable = 2;}
So sánh, biến nGlobalVariable được tạo ra khi chương trình bắt đầu thực hiện và tồn tại miễn là chương trình đang chạy. Tất cả các chức năng đều có quyền truy cập vào nGlobalVariable mọi lúc.
nLocalVariable có phạm vi cục bộ, và nGlobalVariable có phạm vi toàn cầu . Từ khoá static có thể được sử dụng để tạo ra một loại mishling - cái gì đó giữa một biến toàn cầu và một địa phương. Biến tĩnh nStaticVariable được tạo ra khi thực hiện khai báo đến lần khai báo đầu tiên mà hàm fn () được gọi.
Tuy nhiên, không giống nLocalVariable, nStaticVariable không bị phá hủy khi thực hiện chương trình trả về từ hàm. Thay vào đó, nó duy trì giá trị của nó từ một cuộc gọi tới cuộc gọi tiếp theo.
Trong ví dụ này, nStaticVariable được khởi tạo đến 1 lần đầu tiên gọi fn (). Hàm thay đổi giá trị của nó thành 2. nStaticVariable giữ lại giá trị 2 trên mỗi cuộc gọi tiếp theo - nó không được khởi tạo lại khi nó đã được tạo ra. Phần khởi tạo của khai báo bị bỏ qua mỗi lần tiếp theo khi fn () được gọi sau lần đầu tiên.
Tuy nhiên, phạm vi của biến nStaticVariable vẫn là địa phương của hàm. Mã bên ngoài fn () không có quyền truy cập vào nStaticVariable.
Các biến toàn cầu hữu ích cho việc giữ các giá trị mà bạn muốn tất cả các chức năng có quyền truy cập. Các biến tĩnh có ích nhất cho các quầy - ví dụ, nếu bạn muốn biết có bao nhiêu lần một chức năng được gọi. Tuy nhiên, hầu hết các biến đều thuộc về giống địa phương.