ที่นี่เราจะดูว่าความหมายของตัวระบุผันผวนใน C ++ คืออะไร ตัวระบุความผันผวนจะถูกนำไปใช้กับตัวแปรเมื่อเราประกาศ ใช้เพื่อบอกคอมไพเลอร์ว่าค่าอาจเปลี่ยนแปลงได้ตลอดเวลา นี่คือคุณสมบัติบางอย่างของความผันผวน
- คีย์เวิร์ดระเหยไม่สามารถลบการกำหนดหน่วยความจำได้
- ไม่สามารถแคชตัวแปรในรีจิสเตอร์ได้
- ค่าไม่สามารถเปลี่ยนแปลงได้ตามลำดับการมอบหมาย
มาดูกันว่าเราจะใช้คีย์เวิร์ดผันผวนได้อย่างไร
volatile int a; int volatile a;
การประกาศทั้งสองนี้ถูกต้อง เช่นเดียวกับประเภทข้อมูลอื่น ๆ เราสามารถใช้พอยน์เตอร์ โครงสร้าง การรวมตัว ฯลฯ ที่ระเหยได้ โครงสร้างและการรวมที่เปลี่ยนแปลงได้นั้นสามารถเปลี่ยนแปลงได้เอง และตัวแปรสมาชิกของพวกมันก็สามารถเป็นประเภทที่ผันผวนได้เช่นกัน
สารระเหยถูกใช้ในสถานที่ต่างๆ สำหรับการลงทะเบียนอุปกรณ์ต่อพ่วงที่แมปหน่วยความจำ ตัวแปรส่วนกลางบางตัว ที่เข้าถึงโดยฟังก์ชันอื่นๆ หรือรูทีนบริการขัดจังหวะ หรือในแอปพลิเคชันแบบมัลติเธรดบางตัว สามารถใช้ความผันผวนได้
ตัวอย่าง
int main (){ int value; value++; }i nt main (){ volatile int value; value++; }
มีรหัสสองช่วงตึก ในบล็อกแรกไม่มีคีย์เวิร์ดผันผวน ดังนั้นในกรณีแรก ตัวแปรจะถูกคัดลอกจากหน่วยความจำไปยังการลงทะเบียน CPU จากนั้นจึงดำเนินการ ในกรณีที่สองมีความผันผวน ดังนั้นในกรณีนี้ ตัวแปรจะไม่ถูกคัดลอกจากหน่วยความจำไปยังรีจิสเตอร์