Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 휘발성 한정자를 사용하는 이유는 무엇입니까?

<시간/>

volatile은 두 가지를 의미합니다 -

  • 변수 값은 코드를 변경하지 않고도 변경될 수 있습니다. 따라서 컴파일러는 변수의 값을 읽을 때마다 그것이 마지막으로 읽었을 때와 같다거나 그것이 마지막으로 저장된 값과 같다고 가정하지 않을 수 있지만 다시 읽어야 합니다.

  • 휘발성 변수에 값을 저장하는 행위는 외부에서 관찰할 수 있는 "부작용"이므로 컴파일러는 값을 저장하는 행위를 제거할 수 없습니다. 예를 들어 두 개의 값이 한 행에 저장되면 컴파일러는 실제로 값을 두 번 저장해야 합니다.

예를 들면:

i = 2;
i = i;

컴파일러는 숫자 2를 저장하고 변수 I을 읽고 읽은 변수를 i에 저장해야 합니다.

volatile 키워드에 대한 자세한 내용은 www.geeksforgeeks.org/understanding-volatile-qualifier-in-c/

에서 확인할 수 있습니다.