我正在查看一些 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/

10-12 13:36