저는 수학 연산을 쉽게 수행 할 수있는 템플릿 배열을 만듭니다. 예를 들어, 당신은 dB로 선형 값에서 이동하려면 다음과 같이 뭔가를 할 수 :템플릿 함수 다형성
buf = 10 * buf.log10();
내가 인수로 DspBuffer 기준을 비 멤버 템플릿 함수에 "LOG10"와 같은 방법을 변경하고 싶습니다. 미학적 그때 앞의 코드는 다음과 같이 것이기 때문에 그 많은 더 좋은 것 같아요 :
buf = 10 * log10(buf);
이 방법의 유일한 문제는 일부 클래스 DspBuffer에서 상속, FixedPtDspBuffer 등 (고정 소수점 데이터 유형을 사용하는 경우) 및 ComplexDspBuffer (복잡한 값의 경우). 때로는 함수에 과부하가 필요하며 비 멤버 템플릿 함수를 사용하여 함수를 수행 할 수 있는지 잘 모르겠습니다. 예를 들어, log10() 및 고정 소수점을 사용하여 고정 된 지점으로 다시 변환 할 때 암시 적으로 "플로어"를 수행하는 대신 기본 log10 결과의 결과를 반올림합니다.
비회원 템플릿 함수를보다 구체적으로 (예 : DspBuffer를 사용하고 DspBuffer에서 상속 한 FixedPtDspBuffer를 사용) 오버로드 할 수 있습니까, 아니면 실패 할 수 있습니까?
(HTTP : // EN .wikipedia.org/wiki/Visitor_pattern). – Jarod42