템플릿 기본 구문의 구문에 대한 질문을 많이 받았습니다. 기본 템플릿 인수는 어떻게 작동합니까?
template <class T = SomeDefault> class T1 {};
최근 나는 그것의
mapped_vector
에서 사용하는지도 구현 부스트 확인하고 싶어서 :
일반적으로 (작동 방법에 대한 이해와 동기화에) 대답은 그런 일을 사용하는 것입니다.
template<class T, class A>
class mapped_vector:
는 분명히, 인수 A
바인딩 디폴트가없는, 또한 분명히, 난 그냥 벌금 mapped_vector<int>
를 인스턴스화 할 수 있습니다 : 그리고 다음 코드를 발견했다. Obviosuly 기본 인수가 어떻게 든 추정되지만, 어떻게?
편집 : 그냥 내가 이 템플릿 선언 (Xeo의 링크 @) this file
이 클래스 템플릿은 어딘가에 정의 – lisyarus
은 기본 인수 가능성이 일부 헤더 선언에 할당되기 전에 실제 기본 템플릿 인수로 선언 할 수있다. – Xeo
[여기] (https://github.com/boostorg/ublas/blob/master/include/boost/numeric/ublas/fwd.hpp#L105) – Xeo