My Code Style of OI
参考资料: Menci's Code Style for OI
概况
- 在任何地方,不同功能的代码块应使用空行隔开
- 全局变量按照:结构体、数组、单个变量排列。
预编译指令
#include <cstdio>
#include <cstring>
#include <algorithm>
#define MAXN 1005
#define INF 2147483647
#include
后面加一个空格后再写<....>
- 使用
#define
来定义常量,而不用const
,并且末位习惯是5
- 不使用所有
.h
的头文件,包括万能头文件。 - 不使用
using namespace std;
<cstdio> <cstring> <algorithm>
按顺序写在最前面,若有其他头文件,则依次插入在后面。
函数
inline int maxx(int a,int b){
return a>b?a:b;
}
- 非递归函数使用
inline
- 不压行
- main函数放在所有函数的最后面
- STL函数使用
std::
变量与常量
- 常量大写,变量小写
- 不使用无意义的字母作为变量或常量名,而使用单词命名
- 循环变量使用
i
、j
、k
,并且加上register
- 使用
char
数组而不使用string
- 大数组及题目给定的变量,作为全局变量开在函数之外
语句
for(register int i=1;i<=N;++i){
...
}
while(true){
...
}
do{
...
}while(true);
if(...){
}
int a = (a + b) / 2;
- 前花括号不换行,后一个花括号与
for
、while
、do
对齐 - 附属语句与被附属的语句之间差距一个
tab
,即4个空格 - 运算符与变量名之间差一个空格