사용 목적
첫째, volatile 키워드로 선언한 포인터는 컴파일러가 최적화를 하지 않습니다. 코드 최적화를 하면 안되는 임베디드나 멀티 쓰레드 환경에서 많이 씁니다.
둘째, volatile 키워드로 선언하면 해당 메모리 공간으로 전송되는 데이터는 캐쉬되지 않습니다. 이 뜻은 메모리에 직접 연산을 한다는 것입니다.
사용 예시
포인터가 가르키는 개체를 volatile로 선언 할 땐 변수 형식 지정자 앞에 선언합니다.
1 | volatile char* ptr; |
포인터에 저장된 실제 주소를 volatile로 선언 할 땐 변수 형식 지정자 뒤에 선언합니다.
1 | char* volatile ptr; |
'공부 > C++ \C#' 카테고리의 다른 글
C++ 프로그래밍 : 런타임 타입 정보(Runtime Type Information) (0) | 2020.06.03 |
---|---|
인라인 (Inline) (0) | 2018.08.08 |
vector의 size와 capacity (0) | 2018.07.04 |
레퍼런스와 포인터의 차이 (0) | 2018.05.15 |
사용되지 않음 #pragma deprecated (0) | 2018.05.11 |