我確定這個問題之前已經被問過了,但我無法找到搜索到的文本。如果任何人都可以解釋他們,請將我推薦給一篇文章,或者給我正確的搜索查詢,我將不勝感激。_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還是什麼? –