원문 : C++ Modifier Types


주의 : 번역이 개판이므로 원문을 참조하세요. 

주의 : 허락받고 번역한 것이 아니기 때문에 언제든 내려갈 수 있습니다.

주의 : 가독성을 높이기 위해 잘 알려진 용어나 발음이 비슷한 용어는 한글 표기합니다.


C++ Modifier Types


C++ 은 char, int, double data type 앞에 modifier 를 가질 수 있도록 허용한다. Modifier 는 base type 의 의미를 수정하는데 사용되며, 그래서 다양한 상황에 대한 요구를 더 정확하게 만족시킨다.


그 data type modifier 의 리스트는 아래와 같다 :

  • signed
  • unsigned
  • long
  • short


signed, unsigned, long, short 는 integer base type 들에 적용될 수 있다. 부가적으로 signed 와 unsigned 는 char 에 적용될 수 있으며, long 은 double 에 적용될 수 있다.


signed 와 unsigned 는 long 이나 short 앞에 사용될 수도 있다. 예를 들면 unsigned long int 이다.


C++ 은 unsigned, short, long 의 integer 를 선언하기 위한 단축 표기를 허용한다. 당신은 int 없이 단순히 unsigned, short, long 만을 사용할 수 있다. int 는 내포되어 있다. 예를 들어 다음의 두 문장은 둘 다 unsigned integer 변수를 선언한다.



signed 와 unsigned 가 C++ 에 의해 해석되는 방식의 차이를 이해하기 위해서는, 다음과 같은 짧은 프로그램을 실행해 보면 된다 :



프로그램이 실행되면, 출력은 다음과 같다.


-15536 50000


위의 결과는 50,000 을 short integer 로서 표현하는 bit 패턴이 short 에 의해 -15,536 으로 해석되기 때문이다.


Type Qualifier in C++


Type qualifier 는 변수 앞에서 부가적인 정보를 제공한다.


 Qualifier   Meaning 
 const 

 const type 의 개체는 프로그램 실행 동안에 변경될 수 없다.

 volatile

 volatile 은 컴파일러에게 변수의 값이 프로그램에 의해서 명시적으로 지정되지 않은 방식으로 변경될 수 있음을 통보한다.

 restrict

 restrict 에 의한 pointer qualifier 는 초기에 단지 그것이 가리키는 개체에 의해서만 접근 가능하다는 것을 의미한다. C99 에서만  restrict 라 불리는 새로운 유형의 qualifiler 가 추가되었다.




volatile 과 restrict 는 정말 잘 안 쓰이는 keyword 이다. 자세한 내용은 다음 링크들을 참조하기 바란다.


C/C++ volatile 키워드.

C/C++ volatile 에 대한 오해.

[ C/C++ ] volatile 선언의 의미에 대한 정리.

restrict, WIKIPEDIA.


+ Recent posts