C/C++ 数字后缀引发的处女座纠结

原创
2018/05/01 20:26
阅读数 223

对于 uint64_t 的常量,以前只写 Windows 平台的代码,所以习惯加上 Ui64 的后缀,前几天发现 g++ 不支持,于是改为 ULL,然后又测试了 ull,也是可以的,开始纠结以后是用大写还是小写……

输入时是小写比大写方便,但小写的字母 l,容易被认成数字 1,比如 1234567890ll,看起来没 1234567890LL 容易辨认。看了 golang,并不支持数字加后缀,好样的!

同样的纠结,还有十六进制的 0x 和 0X,abcdef 和 ABCDEF……golang 一样有这个纠结,看来要彻底的单一化还是不容易的。

ATL 的 HexEncode 函数,输出的十六进制是大写的,UMU 也一直喜欢大写格式,但 std::hex 默认是小写,要用 std::setiosflags(std::ios::uppercase) 改大写。所以,如果自己实现一个 HexEncode 函数,默认还是应该返回小写格式的,这个道理很简单,您看一下键盘,上面都是大写字母,但按下去,不好意思,默认是小写,要大写?请按住 SHIFT。

所以……处女座还是别学 C++ 的好。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部