C++ volatile 설명 & 예시

설명

C++에서

volatile은 자료형 한정자다.

하드웨어에 의해서 프로그램 내 값이 변할 수 있다는 말로, 

인터럽트 핸들링과 같은 다른 비동기 프로세스에서 자료의 메모리에 접근할 수 있다.

또한, 어디서 쓰일지 모르기 때문에 컴파일러가 해당 객체 최적화를 하지않는다.

(일부러 피할 때 쓸 수 있다)


예시

const 는 상수니까 최적화를 해서 i == 100 인지 루프에서 비교하지 않게끔 최적화 됨.
while(true) 처럼 최적화

const지만 volatile이 있으므로 최적화 하지 않고 루프마다 i == 100인지 비교함


댓글