参考博客
_rqy’s Code Style for OI & XXX(记不得了以后想起再说吧)。
代码风格
概览
- 所有的
#include
均放在文件开头,#include
与<>
之间有一个空格; - 引用的头文件按字典序排列;
- 不应用
using namespace std;
(避免重名,虽然以我的命名规则很难重名); - 能用
const
就不用#define
; main
返回值为int
,return 0;
不忽略(某些时候#define int long long
后该条可能会失效)。
空白符
缩进
- 所有缩进均为 4 4 4 个空格(也可能是 1 1 1 个制表符)。
空格
- 通常双目(三目)运算符两侧各有一个空格;
- 中括号两侧无空格;
- 小括号内侧无空格,外侧若是
for
、while
、if
等保留字或花括号等,则有一个空格,否则(如函数名)无空格; - 花括号两侧有一个空格,除非在行首
/
/
/ 行尾或者其后面是
,
或;
; - 若
,
、;
之后不是换行,则有一个空格; ->
、.
、::
和单目运算符等符号不加空格;- 重载运算符时,重载的符号两侧有空格,
operator
两侧有空格; - 常成员函数
const
两侧有空格; //
若不在(不计空格)行首,则前面有一个空格,后面始终有一个空格。
换行
- 函数、结构体、常量定义、宏定义之间有换行;
- 头文件下面有换行。
花括号
- 左花括号不换行;
if
、for
、while
等后面只有一行的通常不写花括号。
压行
- 以
我觉得美观为准。
命名
- 以下均视情况而定。
- 全局变量和函数首字母大写;
- 如果名称超过一个单词,采用驼峰命名法,但首字母大写;
- 通常题目中出现的变量首字母大写;
- 其他有确切含义方便表达的变量用 3 3 3 个字母小写缩写。
其他
sizeof
后面用空格而不是小括号;- 注释掉代码时
//
加在行首。
示例代码
随意翻看最近的博客即可。