Ở đây chúng ta sẽ xem ý nghĩa của định tính biến động trong C ++ là gì. Định tính biến động được áp dụng cho một biến khi chúng ta khai báo nó. Nó được sử dụng để báo cho trình biên dịch biết rằng giá trị có thể thay đổi bất cứ lúc nào. Đây là một số thuộc tính của dễ bay hơi.
- Từ khóa biến động không thể xóa chỉ định bộ nhớ.
- Nó không thể lưu vào bộ nhớ cache các biến trong thanh ghi.
- Giá trị không thể thay đổi theo thứ tự gán.
Hãy để chúng tôi xem, chúng tôi có thể sử dụng từ khóa dễ bay hơi như thế nào.
volatile int a; int volatile a;
Ở đây hai khai báo này là đúng. Giống như các kiểu dữ liệu khác, chúng ta có thể sử dụng con trỏ dễ bay hơi, cấu trúc, liên kết, v.v. Các cấu trúc dễ bay hơi và liên kết có thể tự biến động và các biến thành viên của chúng cũng có thể thuộc loại dễ bay hơi.
Chất bay hơi được sử dụng ở những nơi khác nhau. Đối với các thanh ghi ngoại vi được ánh xạ bộ nhớ, một số biến toàn cục, được truy cập bởi một số hàm khác hoặc các quy trình dịch vụ ngắt hoặc trong một số ứng dụng đa luồng, biến có thể được sử dụng.
Ví dụ
int main (){ int value; value++; } int main (){ volatile int value; value++; }
Có hai khối mã. Trong khối đầu tiên, từ khóa biến động không có. Vì vậy, đối với trường hợp đầu tiên, biến sẽ được sao chép từ bộ nhớ vào thanh ghi CPU, sau đó các hoạt động được thực hiện. Trong trường hợp thứ hai, sự dễ bay hơi là hiện tại. Vì vậy, trong trường hợp này, biến sẽ không được sao chép từ bộ nhớ vào các thanh ghi.