2
이와 같은 행동을 취할 수있는 방법이 있습니까? 문자열 리터럴 some_return_type operator "" _my_str(const char*, std::size_t);
즉시 전달 결코 문자 그대로의 운영자 템플릿 (2.14.8/5)에 있기 때문에사용자 정의 문자열 리터럴의 길이를 템플릿 인수로 사용합니까?
// Some definition(s) of operator "" _my_str
// Some definition of function or macro MY_STR_LEN
using T1 = MY_STR_LEN("ape"_my_str);
// T1 is std::integral_constant<std::size_t, 3U>.
using T2 = MY_STR_LEN("aardvark"_my_str);
// T2 is std::integral_constant<std::size_t, 8U>.
그것은하지 보인다. size 함수 매개 변수는 거의 항상 상수식이 되더라도 템플릿 인수로 사용할 수 없습니다.
하지만 이렇게해야 할 것처럼 보입니다.
네,하지만 그것은 하나의 특정을 위해 단지 객체's입니다. 그래서 우리는 모든 사용자 정의 리터럴에 대한 이름이 필요합니까? – aschepler
@aschepler :''abc "_xyz.len'과 같은 것이 작동해야합니다. –