Code Snippets/Boost2010. 9. 6. 12:17

Dr.Dobbs Article
> 학교 다닐 때 봤었던 아티클이지만 간단한 것만 쓰니 가물가물 하다.
   읽어 보면서 입맛에 맞춰 예제를 만들어 봤다.

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

함수 호출 연기 & 함수 타입 캐스팅  (0) 2010.09.17
Nested Bind  (0) 2010.09.09
boost::bind 활용  (0) 2010.09.03
boost 관련 유용한 링크 모음  (0) 2010.08.20
Boost Thread  (0) 2010.08.20
Posted by codevania
Code Snippets/Boost2010. 9. 3. 15:44
코드의 미묘한 중복을 줄이는데 템플릿만한 것이 없다고 생각한다.
보통 아래와 같은 패턴을 가진 함수들... 즉 Value와 Data의 타입이 다르지만 뭔가 동일한 루틴을 가진 함수들...
이런 함수들이 여러개 있다면, 주저 없이 boost::bind를 사용해서 중복을 줄여보자.
( STL의 bind도 가능하지만, mem_fun에서 받을 수 있는 인자는 1개 뿐인 반면 boost는 8개다 )



Code Snippet

결과
(Result: 1 (Sum: 3 | Sum2가 template이 아니라면 간단히 호출 가능
(Result: 1 (Sum: 3 | Sum2가 template이라면 mem_fn을 명시적으로 호출
(Result: 1 (Sum: 3 | mem_fn을 바인드 시켜서, 나중에 인자와 함께 호출
(Result: 1 (Sum: 3 | 함수 자체를 funtion에 바인드도 가능
(Result: 1 (Sum: 6 | 인자3개짜리가 필요할 때도 간편하게 사용

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

함수 호출 연기 & 함수 타입 캐스팅  (0) 2010.09.17
Nested Bind  (0) 2010.09.09
Generalized Function Pointers  (0) 2010.09.06
boost 관련 유용한 링크 모음  (0) 2010.08.20
Boost Thread  (0) 2010.08.20
Posted by codevania
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