본문 바로가기

반응형

진리는어디에/C++

(43)
[C++] typename 키워드 들어가며 'Modern C++ Design'이라는 책에는 typename이라는 키워드가 종종 등장하곤 합니다. 물론 템플릿 파라메터로써만 사용되었다면 제가 이런 포스팅을 시작할 생각도 안했겠지요. template 와 template 는 템플릿을 조금이라도 다루어 보았다면 모두 다 아실 정도의 수준이니까요. 오늘 제가 이 포스트에서 다루고자 하는 것은 템플릿 파라메터로써의 typename이 아니라, 이것이 타입인지 함수인지 구분이 안가는 모호한 문법 속에서 '이것은 타입이니 함수 처럼 다루지 마세요'라고 말하는 typename을 다뤄 보려고 합니다. 포스트에 설명 되어 있는 내용은 IBM 쪽에 올라온 문서를 기본으로 삼고 있습니다. 혹시나 원문이 궁금하신 분은 [여기]를 참고 하시면 됩니다. typenam..
[C++] 전역 변수 extern 키워드 extern 키워드는 '여기서는 선언만 한다. 그 내용은 어딘가에 정의 되어 있다.' 라는 의미를 가지는 키워드 이다. 여기서 '선언'과 '정의'의 개념을 잠깐 살펴보기 전에 함수를 먼저 떠올려 보자. 예를 들어 int sum(int a, int b); int main() { std::cout
[C++] const 와 mutable 키워드 이번 포스트는 변수를 상수화 시켜 코드에서 변수의 값을 변경하려고 할 경우 컴파일 타임에 에러를 발생 시키는 const 키워드와 const를 무효화 시킬 수 있는 mutable 키워드에 대해 살펴 보도록 하겠다. C++에서는 절대 변경 되어서는 안되는 변수(변수라는 것 자체가 변경을 할 수 있다는 의미인데 그것을 변경하지 못하게 막겠다는게 개념적으로 아이러니 하긴하지만)에 const라는 한정자를 더해, 변수를 변경하려고 시도 할 경우 컴파일 타임에 감지하여 에러를 발생 시킨다. const 이전에는 #define 전처리 명령어를 이용했지만 전처리 명령어를 이용하는 것은 스코프를 한정 할 수도 없고, 타입에 대한 제약도 없어 여러 모로 실수를 만들 요소를 가지고 있다. 하여 const 키워드 이후 부터는 상..

반응형