淺析c++ 宏 #val 在unicode下的使用
#define CHECK(condition) cout<<check failed:<<#condition<<endl;
上面這句宏,當(dāng)你 CHECK(myfunc()); 時,假設(shè)myfunc返回false,會輸出:check failed:myfunc()
在宏中,#condition 是把參數(shù)轉(zhuǎn)換為字符串,這在打印log時,可以很方便的打印出函數(shù)名稱等等
這個大家可能都知道了,太小兒科了,但是,當(dāng)你在unicode下用的時候,很可能會出現(xiàn)亂碼
解決的辦法是 #condition 替換為 L## #conditon
#define CHECK(condition) cout<<check failed:<<L## #condition<<endl;
相關(guān)文章
使用kendynet構(gòu)建異步redis訪問服務(wù)
這篇文章主要介紹了在kendynet上寫的一個簡單的redis異步訪問接口,大家參考使用吧2014-01-01c語言中exit和return的區(qū)別點總結(jié)
小編今天給大家整理了關(guān)于c語言中exit和return的不同點及相關(guān)基礎(chǔ)知識點,有興趣的朋友們可以跟著學(xué)習(xí)下。2021-10-10C語言通過三步翻轉(zhuǎn)法實現(xiàn)單詞倒置詳解
這篇文章主要為大家分享了用三步翻轉(zhuǎn)法將一句話的單詞進(jìn)行倒置的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-05-05