在OI / ACM中防止命名冲突的策略

众所周知,在OI / ACM中常常会使用万能头文件 bits/stdc++.h,为了方便,又会常常加入 using namespace std 导入 std 命名空间内所有名称。

然而方便是方便了,这样做又会导致命名污染。比如 y0 ,偏偏有的时候用之前忘了定义,又不正确地使用了。编译器不会报错,一运行就是 Runtime Error ,就会无端端浪费很多 debug 时间。笔者没经历过这种事情,不过也有所耳闻。于是特地研究了 std 空间内预定义的名称,总结了以下命名策略。

1.不要使用下划线&全大写
2.尽可能短 5字符以下
3.避开常用的类、函数、动词及容易混淆的缩写
4.采用一套方便而防冲突的方法,如驼峰命名法或尾字符双写等
5.避开以下词:

j0   j1   jn   y0   y1   yn   arg

count   div   left   right   ws   dec   hex

oct   exp   polar   real   signal

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值