2014-10-11 2 views
0

몇 가지 기본 문자열 처리를 수행하기 위해 TMP에 클래스를 작성합니다. 문자열은 char의 클래스 가변 템플릿으로 표현됩니다. 두 문자열이 같은지 테스트하고 싶습니다. 그렇다면 관련 유형이 있습니다. 그러나 컴파일 타임에 두 문자가 같은지 테스트하는 방법을 모르겠습니다. 내 현재 코드는 다음과 같이 보이지만 명백한 이유 때문에 컴파일되지 않습니다.템플릿 메타 프로그래밍에서 일치하는 변수 C++

템플릿 const char NamedType :: name [sizeof ... (Chrs) +1] = {Chrs ..., '\ 0'};

답변

3

문자열이 variadic 템플릿의 특수화 인 경우 std::is_same을 통해 유형이 같은지 비교하면됩니다. 결과 유형은 std::integral_constant이며 값 유형으로 bool이고 구체적으로 std::true_type 또는 std::false_type입니다.

관련 문제