} } }

    c++ 宏 #val 在unicode下的应用。

    添加时间:2013-7-16 点击量:

    #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;


    分享到: