2025/07/013 9. Generic Programming과 템플릿 - 복습 퀴즈 🧠 템플릿 개념 복습 OX 퀴즈1.함수 템플릿은 반환형, 인자 타입, 함수 내부 연산까지 모두 템플릿 인자를 사용할 수 있다.✅ O→ T func(T a, T b) 와 같이 모든 위치에서 T를 사용할 수 있음2.클래스 템플릿은 객체를 생성할 때 안에 타입을 명시하지 않아도 된다.⛔ X→ (C++17 이상은 자동 추론 가능하지만, 기본적으로 명시 필요)3.템플릿 특수화는 오버로딩과 완전히 동일하게 처리되며, 내부 구조 변경에는 영향을 주지 않는다.⛔ X→ (특수화는 내부 구현을 완전히 바꿀 수 있음, 오버로딩은 함수 전체가 별도)4.template 처럼 int를 템플릿 인자로 사용하는 것은 잘못된 문법이다.⛔ X→ (int N은 non-type 템플릿 인자로 C++에서 정식 지원됨)5.Item와 Ite.. 2025. 7. 1. 9. Generic Programming과 템플릿 (6) - Non-템플릿 인자 Generic Programming using Template중요 Part이다.★★★★★◆ 클래스 템플릿 매개 변수 ● 타입이 아닌 다른 매개변수를 사용할 수 있음(non-type template argument) ☞ 아래 예제에서 N의 값을 템플릿 클래스의 사용 시에 직접 명시해 줌template class Array { int size = N; T Values[N];};* 정적 배열이기 때문에 고정된 크기가 필요해서, 숫자 N 자체를 템플릿 인수로 같이 받도록 정의함!int main(){ Array nums; Array nums2;}해당 코드를 보고 컴파일러는 아래처럼 작성한다.class Array { int size = 5; int Values.. 2025. 7. 1. 9. Generic Programming과 템플릿 (5) - 클래스 템플릿 Generic Programming using Template◆ 클래스 템플릿 ● 함수 템플릿과 유사한, 클래스에 대한 템플릿 구현 지원 ● 클래스의 "설계도" ● 컴파일러가 타입에 따라 적절한 클래스를 생성해 줌📘 핵심 정리: 클래스 템플릿 기본 개념🎯 클래스 템플릿이란?타입에 관계없이 사용할 수 있도록 클래스의 설계도(Template) 를 만드는 것template class MyBox {private: T data;public: MyBox(T value) : data(value) {} void print() { std::cout T는 자료형을 나타내는 템플릿 인자클래스 전체에서 T는 타입 자리에 사용됨 (멤버 변수, 멤버 함수 등)함수 템플릿과 .. 2025. 7. 1. 이전 1 다음