基本上,如果我有这个字符串:
我希望最终得到类似于以下内容的翻译:
"abcd"
我希望最终得到类似于以下内容的翻译:
'abcd'
在编译时。我已经尝试使用宏、预处理器技巧和微软的charize运算符(#@
),但它们都不能正确地工作。最终结果应该允许我像这样做:
template <long N> struct some_type {};
long whatever = STR_TO_MULTI_CHAR_LITERAL("abcd");
some_type<whatever> xyz;
clang -fms-extensions
,尽管结果应该能在没有constexpr的情况下在MSVC中工作。 - kirbyfan64sosconst char str[] = "abcd";
- 这可以用于将字符串传递给元函数;直接传递字符串字面值是不允许的。 - dypconst
对象在常量表达式中的限制:它们需要具有整数或枚举类型。而对于constexpr
对象的限制则要宽松得多。 - dyp