내가 C++에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve C++ 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 이번 항목의 주제는 "템플릿 기반 클래스를 상속받은 파생 클래스는 '컴파일 타임 상속 체계'가 끊긴다. 그러므로 템플릿 기반 클래스에 접근 하는 방법을 알아 두어야 한다." 이다. 이 컴파일 타임 상속 체계는 컴파일 타임에 컴파일러가 구문해석 체계를 뜻한다. 구문해석 체계에서 잘못 된 것이라면, 컴파일이 되지 않는다. 템플릿 기반 클래스 상속은 상속에 따른 구문해석이 끊기어, 해석 실패가 된다. 못 믿겠다면 예제 코드를 보자. // ikpil.com or..
템플릿 검색 결과
내가 C++에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve C++ 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 typename .. 뭐 이렇게만 보면 이런게 있었나 싶다. 하지만 템플릿에서는 흔하게 보는 키워드인데, 이 키워드에 대해서 제대로 파악하자고 하는것 같다. 처음부터 진행하자면 typename 과 class 는 똑같은 의미인데, 이렇게 말만 하면 혼동의 요지가 있으니, 코드도 포함해 주는 센스를 발휘해 본다. // ikpil.com or ikpil.tistory.com #include //template // class _T 와 같은 의미 template..
내가 C++에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve C++ 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. 항목 41의 이야기를 어떻게 풀어 갈지, 감이 오지 않았다. 그 이것은 항목 41을 잘 이해하지 못했다는 것을 증명하기라도 하듯, 나는 책을 여러번 반복해서 읽을 수 밖에 없었다. 시작하기 앞서 한가지만 기억하자, 템플릿 프로그래밍은 모두 컴파일 타임에 결정 된다! 나머지는 그냥 읽기만 하자. 어찌 보면 이 한가지 기억은 Goto 같은 녀석이다.. ..(왜 컴파일 타임에 결정하느냐? 라고 하면 .. 별도로 템플릿 프로그래밍에 관련된 책을 구입하여 공부하는게 좋을듯 ..
항목 41. 계승과 템플릿과의 차이점을 이해한다. 이유. 1. 코드 재사용을 위해서 (코드 재사용은 정말 중요하다. 물론 개념 재사용도 중요하다..) 해결 방법 1. 계승과 템플릿과의 차이점을 이해한다. 계승이란? 1. 다른 클래스에 있는 데이터와 메소드를 흡수하는것을 계승이라 한다. 템플릿이란? 1. 동일한 작업의 처리되는 데이터를 사용자가 지정하는 것을 템플릿 이라 한다. 어떨 때 계승과 템플릿을 구분지어 사용 하는가? 계승은 객체의 타입이 클래스에 정의된 함수들의 동작 원리에 영향을 미치는 경우 템플릿은 객체의 타입이 클래스에 정의된 함수들의 동작 원리에 영향을 미치지 않을 경우 개인적인 생각. 역시 프로그래머의 능력은 설계와 최적화에서 평가 된다. (구현은 기본이고..)
최근댓글