我确定这个问题之前已经被问过了,但我无法找到搜索到的文本。如果任何人都可以解释他们,请将我推荐给一篇文章,或者给我正确的搜索查询,我将不胜感激。_T(“...”)和_RT(“...”)宏之间有什么区别?
谢谢。
我确定这个问题之前已经被问过了,但我无法找到搜索到的文本。如果任何人都可以解释他们,请将我推荐给一篇文章,或者给我正确的搜索查询,我将不胜感激。_T(“...”)和_RT(“...”)宏之间有什么区别?
谢谢。
这只是一个预感,但是查看字符串文字的Wikipedia C++11 Page,并将它与我们知道_T
宏,它是有道理的,_RT
宏可能是基于_T
基于原始字符串文字。
你将不得不看看宏本身,看看它做了什么。由于_T
宏如果您使用的是unicode,因此会预先输入L
,我的猜测是_RT
会始终加上R
,如果是Unicode,L
也会加上。
所以_T
用于正常的字符串文字处理,使它们的Unicode(wchar_t
)或没有,_RT
用于制造原始字符串字面量并使其Unicode或没有。
这使得很多意义IMO – sehe
我不知道_RT()
(似乎google agrees)
我首先想到的 “只读” 的文字。嗯,这实际上有点多余,但IIRC标准已经变得更加严格,关于C++中字符串文字的常量问题
鉴于以下划线和大写字母开头的标识符是为实现保留的,我不鼓励使用它们,并且猜测编译器手册是寻找解释的地方。 – pmr
@pmr:'_T(')是标准的Microsoft获取宽/短字符串文字的方法,取决于UNICODE/DBCS编译器的定义 – sehe
你在哪里找到这个“_RT”宏?我没有看到那个。这是来自WinRT还是什么? –