C++严格代码规范

变量命名规范

严格下划线命名法, 适当缩写
r o w row row
c o l col col
体积 v o l vol vol v v v
前缀和 s s s
字符串如果已经有 s s s, 则命名为 s t r str str
动态规划数组 f [ i ] [ j ] f[i][j] f[i][j]
图论当中点对 ( u , v ) (u, v) (u,v), 如果有一个点命名为 u u u
两个变量或者字符串可以使用 a a a或者 b b b命名
k m p kmp kmp算法模式串匹配数组 n x t nxt nxt
左边界右边界 l , r l, r l,r
左儿子右儿子 l s , r s ls, rs ls,rs
查询的左右边界 q l , q r ql, qr ql,qr
s t k stk stk, 栈顶指针 t o p top top
队列 q q q, 队头队尾 h , t h, t h,t
并查集数组 p p p
倍增数组/最近公共祖先数组 f a fa fa
n n n代表数量, m m m代表边数或者另一个变量
线段树结构体 t r tr tr
森林 t r s trs trs
A C AC AC自动机指针 p t r ptr ptr
测试数据数量 T T T
是否访问过数组 v i s vis vis
变量 v a l val val
临时变量 t m p tmp tmp
位置 p o s pos pos
操作数量op_num
小数点 p t pt pt
比率 r a ra ra
迭代器缩写 i t it it
查询数量 q q q
候选变量 c a n d cand cand
全局变量名必须大写

函数命名规范

深度优先搜索/广度优先搜索 d f s , b f s dfs, bfs dfs,bfs
多个测试用例函数 s o l v e solve solve
线段树懒标记下传push_down
d f s dfs dfs过程中根节点 u u u, 邻接节点 v e r / v ver/v ver/v
组合数 C ( i n t   a , i n t   b ) C(int\,a, int\,b) C(inta,intb)
链式前向星写法, 每个节点的第一条边 h e a d head head, 每条边的终点 e d ed ed, 下一条边的索引位置 n e ne ne, 边的索引 i d x idx idx

格式规范

函数与函数之间必须空一行
代码不同功能之间必须空一行
typedef必须在const上面
#definetypedef上面
f o r for for循环内部只有一个语句或者两个简单语句不许加大括号
大括号必须完整, 能用三元表达式不许使用 i f if if
减少 i f if if嵌套次数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值