再次回答另一個問題時,我忘記了(我的錯)只有在找到整數或浮點文字時才從這組聲明中拾取文字操作符模板。字面操作符模板:爲什麼不是字符串?
作爲一個例子:
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