Fundamental of CS/: : C++

[Templates] C++ Templates

Jay.P Morgan 2024. 7. 16. 11:09

 

  1.  챕터 요약: C++ Templates (템플릿)

 

이번 챕터에서는 C++ 템플릿(Template)의 개념과 활용 방법을 학습합니다.

 

  1.1  주요 내용

 

  • 템플릿의 개념
    • 데이터 타입에 독립적인 프로그램을 작성할 수 있는 기능
    • 코드의 재사용성을 높이고 가독성을 유지하여 개발 생산성을 향상시킴
    • 대표적인 활용 사례: STL(Standard Template Library)

 

  • 템플릿 인스턴시에이션(Template Instantiation)
    • C++은 컴파일 언어이므로 템플릿이 실제 코드로 생성되는 과정(인스턴시에이션)이 중요함
    • 이번 챕터에서 인스턴시에이션이 언제, 어떻게 이루어지는지 학습

 

  • Rvalue와 템플릿
    • C++의 성능 최적화를 위한 Rvalue 개념 이해
    • 템플릿과 결합하여 등장하는 Perfect Forwarding Forwarding Reference(Forward Reference)를 학습

 

  • 다양한 템플릿 종류
    • 함수 템플릿(Function Template)
    • 클래스 템플릿(Class Template)
    • 변수 템플릿(Variable Template)

 

  • C++20 템플릿 컨셉(Concepts)
    • C++20에서 도입된 Concepts의 개념과 활용 방법 학습

 

 

  ※ 핵심 정리

 

이번 챕터에서는 C++ 템플릿의 기본 개념부터 인스턴시에이션, Perfect Forwarding, 다양한 템플릿 종류, 그리고 C++20의 Concepts까지 학습하며, 타입에 독립적이면서도 효율적인 코드를 작성하는 방법을 익히는 것을 목표로 합니다.