我正在查看一些 windows directx 应用程序代码,看到他们使用宏 _T(x) 来设置他们的窗口名称,在查看宏定义时我看到了这个
#define _T(x) __T(x)
然后我跟着看了看__T
#define __T(x) x
为什么会这样?
最佳答案
_T(x)
通常是与平台无关的文本字符类型的宏。在某些平台上,它可能只解析为 x
。在其他使用宽字符的情况下,它可能会解析为 L ## x
,例如_T("abc")
可以解析为 "abc"
或 L"abc"
。
关于C++ 令人困惑的宏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60957128/