'Code Snippets/Template'에 해당되는 글 3건

  1. 2010.08.26 STL bind
  2. 2010.08.25 Type Traits
  3. 2010.08.25 Delete STL Container
Code Snippets/Template2010. 8. 26. 12:55

포인터를 요소로 가지는 컨테이너에서 요소를 검색하기 위해 이것저것 해봤다.
BinfunToAdaptMemfun 클래스는 자체 제작한 클래스인데... 왠지 배보다 배꼽이 더 커진다는 느낌이다.
4번 또는 5번의 방법을 사용하는 것이 무난하다는 결론이다.
결론은 8번. boost의 lambda를 사용하는 것이다. -_-!!
컴파일 시간만 감수할 수 있다면, 최고의 답인 것 같다.




6번을 위한 뻘짓 클래스. std::mem_fun과 std::ptr_fun의 조합;; 


'Code Snippets > Template' 카테고리의 다른 글

Type Traits  (0) 2010.08.25
Delete STL Container  (0) 2010.08.25
Posted by codevania
Code Snippets/Template2010. 8. 25. 14:41

enum인지, Union인지, 부모 클래스인지, 파생가능한지... 등등에 대해 어떻게 알 수 있나?

아래 [ Compiler Support for Type Traits ]를 참조하자.
http://msdn.microsoft.com/en-us/library/ms177194.aspx

[ TypeTraits.h ]


[ TypeTraits를 사용한 테스트 코드 ]



사용예를 한 가지 들면...
패킷을 직렬화 할 때, 직렬화 가능한지 여부를 판단하기 위해 사용된다.

'Code Snippets > Template' 카테고리의 다른 글

STL bind  (0) 2010.08.26
Delete STL Container  (0) 2010.08.25
Posted by codevania
Code Snippets/Template2010. 8. 25. 12:15

컨테이너가 어떤 것이든지 포함하는 아이템 포인터를 알아서 삭제해주는 함수를 한줄로 작성해보자.
또, 이런 컨테이너가 재귀적으로 다른 컨테이너를 포함한다고 하더라도 한줄 짜리 함수면 좋겠다.

1. 일단 템플릿 함수가 필요할 것이다.


2. 위의 템플릿 함수에서 사용하는 함수자가 필요하군.


3. 재귀적으로 호출하기 위해서는 템플릿 특화를 사용해야 한다.

'Code Snippets > Template' 카테고리의 다른 글

STL bind  (0) 2010.08.26
Type Traits  (0) 2010.08.25
Posted by codevania