例如:
// This will become either SomeMethodA or SomeMethodW,
// depending on whether _UNICODE is defined.
SomeMethod( _T( "My String Literal" ) );
// Becomes either AnotherMethodA or AnotherMethodW.
AnotherMethod( _TEXT( "My Text" ) );
两个我都见过。 _T 似乎是为了简洁而 _TEXT 是为了清楚起见。这仅仅是程序员的主观偏好还是比这更具技术性?例如,如果我使用一个而不是另一个,我的代码不会针对特定系统或某些旧版本的头文件编译吗?
原文由 Joe 发布,翻译遵循 CC BY-SA 4.0 许可协议
SDK 的一个简单的 grep 向我们展示了答案是 没关系——它们是相同的。他们都变成了
__T(x)
。为了完整性:
但是, _从技术上讲_,对于 C++,您应该使用
TEXT()
而不是_TEXT()
,但它(最终)也会扩展到相同的东西。