萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> c++ 宏 #val 在unicode下的使用

c++ 宏 #val 在unicode下的使用

以下是對c++中宏#val在unicode下的使用方法進行了詳細的分析介紹,需要的朋友可以參考下  

#define CHECK(condition) cout<<check failed:<<#condition<<endl;

上面這句宏,當你 CHECK(myfunc()); 時,假設myfunc返回false,會輸出:check failed:myfunc()

在宏中,#condition 是把參數轉換為字符串,這在打印log時,可以很方便的打印出函數名稱等等

這個大家可能都知道了,太小兒科了,但是,當你在unicode下用的時候,很可能會出現亂碼

解決的辦法是 #condition 替換為 L## #conditon

復制代碼 代碼如下:


#define CHECK(condition) cout<<check failed:<<L## #condition<<endl;

copyright © 萬盛學電腦網 all rights reserved