이 바보 같은 문제처럼 들릴 수도 있지만 나는 오랫동안 궁금는 더 좋은 방법이 그이 동일한 기능을 두 번, 정렬을 위해 한 번, 집합에서 암시 적 정렬을 위해 한 번 구현합니다. 코드 중복을 피할 수있는 방법이 있습니까?<X>
<X>
답변
물론 둘 중 하나를 선택하고 다른 쪽의 통화를 변경하십시오.
// choosing the function object
sort(begin(v), end(v), setComp()); // create setComp, sort will call operator()
// choosing the function
set<X, bool(*)(const X, const X)> s(sortComp); // pass function pointer
저는 개인적으로 Functor 버전을 권장합니다.
ahhhh, setComp 이후의() ... 그런 멍청한 놈. 함수 캐스트 :(임 큰 팬 :)하지만 함수 개체 위대한 작품 – NoSenseEtAl
나는 어떤 의미합니까 어떤 기능 캐스트를 볼 수 없어? – fredoverflow
구문에 대한 지식이 나쁘다 ... bool (*) (const X, const X) – NoSenseEtAl
- 1. github add <<<<<<< HEAD
- 2. Heredoc <<< 또는 <<?
- 3. 연산자 << : std :: cout << i << (i << 1);
- 4. Gemfile 구문 오류 : <<<<<<< localhost를 시작하려고 할 때 HEAD
- 5. Tortoise svn <<<<를 파일에 추가 중!
- 6. 인쇄 관련 질문 <<<
- 7. PHP <<< OUT 및 OUT;
- 8. PHP에서 "<<< SQL"이란 무엇입니까?
- 9. PHP <<<는 무슨 뜻입니까?
- 10. 어떤 수단 <<< PHP에서
- 11. <<< OUT은 PHP에서 무엇을 의미합니까?
- 12. <<< CON in PHP 사용
- 13. 인쇄 <<< PHP에서 HTML?
- 14. <? php와 <?
- 15. 맞춤 << 방법
- 16. 연산자 << 과부하
- 17. Ruby attr_reader는 <<
- 18. 조작 << 상속
- 19. 가상 << operator
- 20. << - 상수는 무엇을합니까?
- 21. 연산자 << 오류
- 22. << 연산자 오류
- 23. <? 및 <? php
- 24. << 셀프 블록
- 25. 무엇을 | << 평균?
- 26. EJS : <% = <% -
- 27. Asp.net : <% # 또는 <%
- 28. 연산자 오버로드 <<
- 29. <=
- 30. PHP에서 <? php 대신 <?
'bool operator() (const X first, const X second) const {return sortComp (first, second);}'? – Vladimir
이 특별한 경우에는 구조체 X에 대해 연산자 <를 구현하므로 집합과 정렬에 대해서는 잊어 버릴 수 있습니다. – stefaanv