【发布时间】:2011-01-05 16:26:01
【问题描述】:
例如:
// 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 是为了清楚起见。这仅仅是程序员的主观偏好还是比这更具技术性?例如,如果我使用其中一个,我的代码会不会针对特定系统或某些旧版本的头文件编译?
【问题讨论】:
-
这上面应该有一个visual-c++标签,还是_T()在实现中很常见?
-
Windows 头文件中还有一个
TEXT宏(没有前导下划线)。第四种(也是最短的)替代方法是在任何地方使用“宽”字符串 (L"…") — Windows 98/Me 不再广泛使用。
标签: c++ winapi backwards-compatibility literals