목록CPPTMP (2)
3냥 집사이면서 게임 개발자입니다.
메서드 템플릿은 클래스 템플릿 안에 정의해도 되고 비템플릿 클래스 안에 정의해도 된다.메서드 템플릿은 클래스 템플릿에 복제 생성자와 대입 연산자를 정의할 때 특히 유용하다.* 가상 메서드와 소멸자는 메서드 템플릿으로 만들 수 없다. 간단한 예시 Grid IntGrid;Grid DoubleGrid;이렇게 만든 두 변수는 타입이 서로 다르다.Grid 객체를 받는 함수는 Grid 객체를 인수로 받을 수 없다.int 를 double로 강제 형변환해서 int원소를 double원소로 복제할 수는 있지만, 위 객체끼리는 대입하거나 변환이 불가능하다.따라서 다음과 같이 작성하면 컴파일 오류가 발생한다.DoubleGird = IntGrid;이유는 Grid 템플릿에 대한 복제 생성자와 대입 연산자를 어떻게 정의했는지에서..

기존의 함수를 작성하는 것을 매개변수화한다고 표현한다.템플릿은 매개변수화 개념을 더욱 발전시켜 값 뿐만 아니라 타입에 대해서도 매개변수화 한다.템플릿을 이용하면 주어진 값 뿐만 아니라 그 값의 타입에 대해서도 독립적인 코드를 작성할 수 있다. 예를 들어 int, Car, SpreadsheetCell 과 같은 각각의 타입마다 따로 정의하지 않고, 스택 클래스 하나에 모든 타입에 적용할 수 있게 만들 수 있다. 템플릿이 제공하는 기능이 정말 뛰어나다는 점과 C++의 템플릿 문법이 상당히 복잡해서 템플릿을 집중적으로 학습자고자한다.C++에서 제공하는 템플릿 기능을 주로 표준 라이브러리를 사용하는 관점에서 작성하려한다. 클래스 템플릿멤버 변수 타입, 메서드의 매개 변수 또는 리턴 타입을 매개변수로 받아서 클래스..