자동 유형 추론으로 템플릿 상속 에뮬레이션
auto를 사용하여 자동으로 템플릿 인수를 지정하는 기능은 명시적으로 입력하는 상황에서 편리한 단축키를 제공합니다. 전체 유형을 작성하는 것은 지루하거나 복잡할 수 있습니다. 그러나 C는 현재 템플릿
편리한 인수 전달을 위해 매크로 사용
해결 방법으로 매크로를 활용하여 자동 유형 추론을 시뮬레이션할 수 있습니다. 다음 예를 고려하십시오.
<code class="cpp">#define AUTO_ARG(x) decltype(x), x Foo f; f.bar<AUTO_ARG(5)>(); // Equivalent to f.bar<int, 5>() f.bar<AUTO_ARG(&Baz::bang)>(); // Equivalent to f.bar<decltype(&Baz::bang), &Baz::bang>()</code>
이 접근 방식은 호출 구문을 단순화할 수 있지만 잠재적인 함정이 발생하고 명시적인 매크로 호출이 필요합니다.
자동 추론을 위한 템플릿 생성기 활용
대체 솔루션은 템플릿 생성기 함수를 만드는 것입니다.
<code class="cpp">template <typename T> struct foo { foo(const T&) {} // Perform specific actions }; template <typename T> foo<T> make_foo(const T& x) { return foo<T>(x); }</code>
이 생성기를 사용하면 템플릿 인수 유형을 명시적으로 지정하는 대신
<code class="cpp">foo<int>(5);</code>
One 생성기 기능의 추론 기능을 사용할 수 있습니다:
<code class="cpp">make_foo(5); // Deduces and creates foo<int>(5)</code>
위 내용은 자동 유형 추론이 C에서 템플릿 상속을 에뮬레이트할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!