나는 이와 같은 코드를 가지고 있습니다 ("우주선"과 같은 연산자).템플릿 함수에서 코드 반복을 정확하게 제거하는 방법
template <class T>
int comparator(const T &a, const T &b){
if (a < b){
return -1;
}else if (a > b){
return +1;
}
return 0;
}
inline int comparator(const char *a, const char *b){
return strcmp(a, b); // I never tried this, included just to get the idea
}
inline int comparator(char const a, char const b){
return a - b;
}
inline int comparator(int const a, int const b){
return a - b;
}
몇 가지 서명 된 유형 (char, short, int, long 등)에 대한 반복을 쉽게 제거 할 수 있습니까? SFINAE를 사용해 보았지만 그 결과는별로 고무적이지 않았습니다. 템플릿 클래스
template <class T>
int comparator(const T &a, const T &b){
return comparator_impl<T>::comparator(a, b);
}
기본 템플릿 클래스 구현 템플릿 기능을 위임하여
후 당신의 테이크 다음은 작업 예입니다. – LogicStuff
난 그것을 corectly 컴파일하지 못했습니다 – Nick