C++ Template Metaprogramming #00 소개
많은 사람들이 C++은 객체 지향형 언어라고 알고 있습니다. 이는 틀린 말이 아닙니다. 분명히 C++은 C언어에 여러 가지 요소들을 덧붙여서 객체 지향 패러다임을 구현했습니다. 하지만 설계자들이 처음부터 고려해서 만들지 않은 숨겨진 기능도 있습니다. 지금부터 알아볼 내용은 바로 그 숨겨진 기능입니다. 템플릿(template)은 일반적으로 일반화 프로그래밍(generic programming)을 지원하기 위해서 만들어진 것으로 배웁니다. 곧 타입(type)을 정하지 않고 컴파일 도중에 템플릿 매개변수에 적절한 타입을 집어넣어서 바이너리를 만듭니다. 그런데 조금 더 배우신 분들이나 표준 라이브러리의 std::array를 사용해보신 분들은 템플릿 매개변수에는 타입 외에도 정수형, 열거형, 함수 및 전역 객체에..
Computer Science/C++
2020. 2. 14. 20:16