在下面的例子中,我想删除std::wstring(std::widen(...))
部分,但"#"宏只返回一个字符串文本——有什么方法可以容纳wchar吗?
#define FOO_MACRO(className)
struct className##Factory : public OtherClass {
// does some stuff here
} className##Factory;
someMap->add(std::wstring(std::widen(#className), className##Factory)))
我如何使用wchar做同样的事情?
您在字符串文字上使用L
前缀来生成wchar字符串文字:
#define CAT(A, B) A##B
#define WSTRING(A) CAT(L, #A)