_T("...")和_RT("...")宏有什么区别?

What's the difference between the _T("...") and _RT("...") macros?

本文关键字:什么 区别 RT      更新时间:2023-10-16

我确信这个问题以前已经问过了,但是我无法得到文本搜索。如果有人能解释一下,给我参考一篇文章,或者给我正确的搜索查询,我将不胜感激。

谢谢。

这只是一种预感,但是看看维基百科c++ 11页面的字符串文字,并将其与我们所知道的_T宏混合在一起,_RT宏可能是关于基于_T的原始字符串文字。

你必须看一下宏本身,看看它是做什么的。如果您使用unicode,则_T宏将L添加到项目,我的猜测是_RT将始终添加R,如果使用unicode,也会添加L

因此_T用于处理正常字符串文字并使其成为unicode (wchar_t)或不,而_RT用于生成原始字符串文字并使其成为unicode或不。

我不知道_RT()(似乎谷歌同意)

我的第一个想法是"只读"文字。嗯,这确实有点多余,但是IIRC标准在c++

中对字符串字量的连续性要求越来越严格了