c++ 宏 #val 在unicode下的使用。
2024-09-05 23:05:50
#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;
最新文章
- 实践 Neutron 前的两个准备工作 - 每天5分钟玩转 OpenStack(78)
- Maven基础配置--nexus私服配置
- 写shell脚本速查笔记
- django上传文件
- atitit.组件化事件化的编程模型--服务端控件(1)---------服务端控件与标签的关系
- ural 1247. Check a Sequence
- 如何在VirtualBox虚拟机软件上安装Win7虚拟系统
- 最简单去Button回车事件
- Delphi Keycode
- 大数据计算:如何仅用1.5KB内存为十亿对象计数
- zoj 1134 - Strategic Game
- Sql Server异常捕获 try catch
- 重点block
- 第一篇:使用Spark探索经典数据集MovieLens
- 【Android Developers Training】 55. 序言:高效显示位图
- 定义正则new RegExp(&#39;abcd&#39;)
- 带吸附效果的ViewPager(一)
- Kaldi中的Chain模型
- mysql 案例 ~ 常见案例汇总
- Git图形化界面客户端