컴파일 타임 계산(2)
-
C++ STL: 9장 - STL 내부 구현 심화
9.1 STL의 템플릿 메커니즘STL은 템플릿을 기반으로 설계된 라이브러리로, 일반화 프로그래밍(Generic Programming)의 철학을 실현합니다. 이 장에서는 STL의 템플릿 메커니즘과 이를 활용한 고급 기법을 다룹니다.9.1.1 템플릿 메타프로그래밍 (Template Metaprogramming)템플릿 메타프로그래밍은 컴파일 타임에 코드 생성을 수행하는 기법으로, STL 내부에서 자주 활용됩니다.예제: 컴파일 타임 팩토리얼 계산#include template struct Factorial { static constexpr int value = N * Factorial::value;};template struct Factorial { static constexpr int value =..
2025.02.26 -
C++ STL: 8장 - STL과 고급 템플릿 기법
8.1 템플릿의 기본 개념템플릿은 일반화 프로그래밍(generic programming)을 지원하기 위해 C++에서 제공하는 강력한 기능입니다. STL은 템플릿을 기반으로 설계되어, 컨테이너, 알고리즘, 반복자 등이 다양한 데이터 타입에서 동작할 수 있도록 일반화되어 있습니다.8.1.1 함수 템플릿다양한 타입의 데이터를 처리하는 함수 작성에 사용됩니다.예제:#include template T add(T a, T b) { return a + b;}int main() { std::cout 8.1.2 클래스 템플릿데이터 타입에 의존하지 않는 클래스 작성에 사용됩니다.예제:#include template class Box {private: T value;public: Box(T v) : v..
2025.02.26