Static là gì C#

Ở bài học trước, bạn đã nắm được BIẾN TOÀN CỤC TRONG C++ [Global variables] và những kinh nghiệm khi sử dụng biến toàn cục trong lập trình.

Hôm nay, mình sẽ hướng dẫn về phần Biến tĩnh trong C++ [Static variables].

Nội dung

Để đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:

Trong bài ta sẽ cùng tìm hiểu các vấn đề:

  • Tổng quan về biến tĩnh [static variables]
  • Khi nào nên sử dụng biến tĩnh

Tổng quan về biến tĩnh [static variables]

Trong bài BIẾN CỤC BỘ TRONG C++ [Local variables], bạn đã biết được:

  • Biến được định nghĩa bên trong một khối lệnh [block] được gọi là các biến cục bộ [Local variables].
  • Biến cục bộ có thời gian tự động, nghĩa là chúng được tạo tại thời điểm định nghĩa, và bị hủy khi ra khỏi khối lệnh mà biến đó được định nghĩa

Khi sử dụng từ khóa “static” với các biến cục bộ, nó sẽ trở thành biến tĩnh [static variables].

Biến tĩnh [static variables] là biến được tạo ra duy nhất một lần khi gọi hàm lần đầu tiên và nó sẽ tiếp tục tồn trong suốt vòng đời của chương trình. Đây là sự khác biệt giữa biến tĩnh và biến cục bộ.

Biến tĩnh [static variables] là loại biến lưỡng tính, vừa có tính chất của 1 biến toàn cục [global variables], vừa mang tính chất của 1 biến cục bộ [local variables]:

  • Tính chất của biến toàn cục: biến không mất đi khi khối lệnh định nghĩa nó kết thúc, nó vẫn nằm trong vùng nhớ của chương trình và được tự động cập nhật khi khối lệnh đó được gọi lại.
  • Tính chất của biến cục bộ: biến chỉ có thể được sử dụng trong khối lệnh mà nó được khai báo.

Ví dụ: sử dụng biến cục bộ [local variables]:

#include 
using namespace std;

// Automatic duration
void doSomeThing[]
{
	int value[0]; // automatic duration by default
	++value;
	cout 

Chủ Đề