我正在为autodesk 3dsmax编写一个插件,他们建议为每个字符串文字使用_T(x)宏,以使其与unicode一起使用。我在这段代码中经常使用stl字符串类。所以我必须重写代码:string(“foo”)to:string(_T(“foo”))?实际上stl字符串类没有wchars的构造函数,所以它没有意义,是吗?
Thx
答案 0 :(得分:0)
你可以创建一个自己的字符串类,说xstring
,然后在内部使用_T,取决于unicode或不切换到string
或wstring
。或者实例化xstring<yourchartype>
答案 1 :(得分:0)
查看“T”宏的定义 - 它在“Unicode”构建中扩展为“L”,或者在“非Unicode”构建中不扩展为“L”。如果你想继续使用字符串calss并遵循你的插件的建议,你最好的选择是使用tstring这样的规则。
但事实是 - 所有这些“T”业务在10年前都很有意义 - 所有现代Windows版本都只支持Unicode,你可以使用wstring。