Purpose-built post 이 포스트는 "Modern C++ Design Chapter 3.13 Typelist를 통한 클래스 생성" 내용을 읽고 정리할 목적으로 만들어졌다. 2부 내용은 생성 후 각 타입 객체에 접근하는 방법에 대해서 정리한 것이다, Content 현재 나는 책 내용과 다르게 진행하고 있다. 책에선 FieldHelper 를 함수로 구현하여, 원하는 요소에 접근을 한다. 나도 마찬가지로 함수 형태로 구현하려 했지만, 한가지 불편한 것이 있었다. 바로 함수는 템플릿 특수화가 되지 않는 점이였다. 나는 이 방법을 해결하기 위해 몇가지 생각을 했었다. (이것은 직관력으로 바로 생각해 낸 것이 아니라, 일전에 내가 고민하다가, 어떨결에 생각난 것이다.) 내가 제안하는 방법은 템플릿 특수화..
typelist 검색 결과
Purpose-built post 이 포스트는 "Modern C++ Chapter 3.13 Typelist를 통한 클래스 생성"을 보고, 정리한 것이며, 내가 이해한 것이 틀렸다면, 피드백을 받기 위해서, 나 스스로가 공부하기 위해서, 이 챕터를 공부하는 사람들에게 필요할 수 있기에, 만들었다. - 익필 Content 3.12만을 통해서는 아무것도 할 수 없다. 왜냐하면, 타입리스트의 타입 정보만 있지, 데이터를 저장하는 공간이 없기 때문이다. 그래서 이제부터 실제 데이터를 담을 수 있는 공간을 만들어야 한다. (나는 이것을 다른 방법으로 구현했으나, 이 책의 구현이 더 깔끔하다.) 이제부터 나오는 정리는 다음 사항을 사용 할 수 있는 직관력을 필요로 한다. 템플릿 템플릿 파라미터 혹은 템플릿 템플릿 인..
Purpose-built post 1부를 끝내기 위해서 만들었다. Content 1부에서 만들어진 DerivedToFront 함수(함수라 칭하는게 옳다.)는 최대 상속 클래스를 찾았다. 라는 전제에서 만들어진 함수이다. 그러므로, 이제 "어떻게 최대 상속 클래스를 찾을 수 있을까?" 에 대해서 정리해야만 한다. 1. 어떻게 최대 상속 클래스를 찾을 수 있을까? 타입리스트 중에 최대 상속 클래스를 찾으려면, 타입리스트의 모든 요소를 비교 해야 한다. "모든 요소를 한번 훑기 위해선 타입리스트의 마지막 요소까지 "흐름"을 내려가게 한 뒤, 처음으로 나올때까지 비교 하는 방법" 밖에 없다. 비교라는 것은 두개를 비교 한다는 것이다. 동시에 3개를 비교하는 방법은 존재하지 않는다. 이는 실 생활에서도 마찬가지다..
Purpose-built post 이 포스트는 "Modern C++ Chapter 3-12 부분적으로 정렬된 Tytpelist"를 보고, 내가 이해한 것이 틀렸다면, 피드백을 받기 위해서 또는 나 스스로가 공부하기 위해서 또는 이 챕터를 공부하는 사람이 조금이나마 도움이 되기 위해서 만들었다. - 익필 Content 2009년 9월 4일날 3-11장을 본 후 3-12장을 보았지만, 도무지 이해가 되지 않았기 때문이다. 그래서 나는 이 장에서 멈쳤었다. 그러다가 이 3장에 트랙벡이 날라 온 것을 보고, 무기한 연장할 순 없어, 다시 책을 펴본다. 이 부분을 보면서 느낀 점은 "도대체 이것을 왜 해야지? 저자가 기술적 향연을 위하여, 하는건가?" 라고 생각했으나, 책에선 이러한 답변이 있었다. (이걸 보고 ..
3.4는 typelist에 대한 길이 계산에 대해서 설명하는 항목인데, 3.3의 다음으로 보기엔 좀 난해하다. 길이에 대한 설명은 접근성 다음이 되야 좋지 않을까 한다. 그러므로 접근성에 대해서 먼저 정리한 뒤, 길이에 대해서 정리하겠다. 아직 손쉬운 접근방법이 없으므로, 손쉬운 접근방법에 대해서 생각해보자. int 타입을 갖는 값이 나와라. 라고 사용법을 정하면 다음과 같이 정의 할 수 있을 것이다. TYPELIST_3(int, char, int) d3 get( d3 ) = 3; 참으로 간단하면서 사용하기 편하다. 하지만 첫번째 int의 값인지 세번째 int의 값인지 알 길이 없다. 그러므로 이 방법은 사용 할 수 없다. 다시 원점으로 돌아와서 생각을 해보니, 숫자로 지정하면 모호해질 일이 없을 것이라..
최근댓글