Type Traits을 왜 알아야 하는가? C++ Template Metaprogramming 을 하기 위해서는 Template에서 사용 되는 변수들이 무엇인지 알아야 할 것이다. 알다시피 템플릿의 변수들은 타입과, 컴파일 타임에 확인 가능한 상수들이다. 즉, 이러한 변수들을 이용하여, 메타 프로그래밍을 하는 것이다. 이러한 변수들은 더하거나 빼거나, 비교하여, 특정 "연산"을 수행 할 수 있게 되는데, 그것을 "메타 프로그래밍" 이라 부를 수 있다. 이것은 말하는 더하거나 빼거나 등의 "기본 연산"이 있어야 된다는 전제이다. 메타 프로그래밍을 하기 위한 "기본연산"인 Boost 의 MPL 이다. 예를 들자면, "수"를 계산하기 위해선 "계산"이 필요하고, 이 계산의 기본인 "사칙연산"이 있다는 것을 들..
메타 프로그래밍 검색 결과
해당 글 2건
CPTM을 하기 위해 필요한 것 : Type Traits
책 정리/C++ Template Metaprogramming
2008. 12. 20. 19:10
C++ 템플릿 : 함수 탬플릿 정의 하기
다음 문구는 비야네 스트롭 스트룹의 "The C++ Programming Language"의 13장, 템플릿의 처음 부분의 것을 인용한 것이다. " '개념(concept)'이라 하는 것은 그 자체의 독립성이 보장될 때는 독립적으로 표현되어야 마땅하며, 다른 개념과 결합시키려면 나음대로의 합당한 이유가 있어야 한다. 이것은 원칙이며, 이 것이 깨진다면, 이상한 개념들의 뭉치와 불필요한 의존구조만이 난무한 산업폐기물만이 하나 더 추가 될 뿐이다. " 또한 다음과 같이 마무리 한다. " 독립과 결합, 이 두 가지를 어떻게 선택하든지 둘 중 하나라도 지키지 않으면, 소프트웨어 구성에 필요한 구성요소를 선택하는 데 있어서 상당 부분의 융통성을 잃게 된다는 것을 확실하다. C++ 에는 이런 문제에 대한 해결책을 가..
책 정리/C++ Template
2008. 12. 15. 16:01
최근댓글