스칼라 형식 (정수, 부동 소수점 등)에 대해서만 인스턴스화 할 수있는 템플릿 클래스가 있으며 구성원의 typedef가 항상 형식의 서명 된 변형이되도록하고 싶습니다. 즉 :부동 소수점 형식을 허용하는 std :: make_signed
unsigned int
->signed int
signed long long
->signed long long
(이미 서명)
unsigned char
->signed char
float
->float
long double
->long double
등
불행히도 std::make_signed
은 부동 소수점 유형이 아닌 정수형에만 사용할 수 있습니다. 가장 간단한 방법은 무엇입니까? 내가 양식을 using SignedT = ...;
, 템플릿 매개 변수 T 이미 스칼라 수 보장 내 템플릿 클래스의 일부로 찾고 있어요.
나는'std :: common_type'을 사용하여 자신 만의'identity' 클래스를 만드는 것을 선호한다;) –
+1,'using'은 매우 편리하다. 내 컴파일러를 마지막으로 업데이트해야한다. :) – jrok