再次回答另一个问题时,我忘记了(我的错)只有在找到整数或浮点文字时才从这组声明中拾取文字操作符模板。字面操作符模板:为什么不是字符串?
作为一个例子:
template <char... C>
constexpr int operator "" _x() {
return 0;
}
它可以用作10_x
,但它不能用于既不foo_x
也不是“foo”的_x。
除了显而易见的原因是because the standard says that,在处理字符串文字时,他们没有考虑到的技术原因是什么(如果有的话)?
我发现这也是一个proposal(好吧,不完全一样,但它提供了一个想法),但仍然不是一个选项。
是什么阻止它们用于字符串?
您的意思是''foo“_x'? –
@SebastianRedl对,谢谢。 – skypjack
对于它的价值,'foo_x'是一个标识符,所以它永远不会调用udl。 – Barry