标签:author oid bar 数列 格式化 缩进 http tabs 标准
Inspired by Menci‘s Code Style for OI
//Author:0x7FFFFFFF
#include<cstdio>
#include<cctype>
template <typename tn>void fead(tn &n) {
tn f = 1, t = 0, r = 1; char ch = getchar();
while (!isdigit(ch)) {if (ch == '-') f = -1; ch = getchar();}
while (isdigit(ch)) t = t * 10 + ch - '0', ch = getchar();
if (ch == '.') {ch = getchar(); while (isdigit(ch)) r *= 10, t += (ch - '0') / r, ch = getchar();}
n = f * t;
}
int main() {
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
return 0;
}
PS:其中fead()读入优化函数为了节省行数而压行,大家不要在意.
所有的 #include 指令必须放置于整个程序开头。
不应该使用 using namespace std;。
若有必要可以using foo::bar;
main 函数应该放置于整个程序末尾。
不应该使用 int 代替 bool 表示逻辑值。
比起++i使用i++(gcc/g++编译之后两者速度几乎无差异)
#include 中,C 标准库头文件必须使用 c 前缀,而不是 .h 后缀。
#include 中,C 标准库头文件应该放置于 C++ 标准库头文件前,其它头文件(如果有)应放置于最后。
所有的预编译指令(包括 #ifdef 等)不能缩进
对于每个代码块,使用长度为4的 Tab 缩进。
个人认可Java式的花括号匹配,既左大括号不换号。在catch和else前换行。
例:
try {
foo();
}
catch () {
}
void foo() { bar(); }
void fun() {
bar();
}
class foo {
};
if (foo()) {
}
else {
}
enum X : int { A, B };
main 函数的返回值类型必须是 int,不可以省略 return 0;。
空函数体可以使用 {}。
传参时,应该根据实际需要使用「引用」、「const 引用」和「值传递」。
需要加空格的地方:
一定不能加空格的地方:
参数列表/初始化列表过长时内部也可换行,逗号处于行尾;tabs对齐。
极短的函数可以写到一行
在描述类型名时,指针符号 * 和引用符号 & 与左侧的类型名之间必须有一个空格,与右侧的其它关键字之间不能有空格,如 char const 或 int &。
在定义变量、函数返回值、参数时,指针符号 * 和引用符号 & 与左侧的类型名之间必须有一个空格,与右侧的变量、函数、参数名之间不能有空格。
所有结构体、函数、变量、参数名必须使用下划线命名法。
为方便,命名中的单词可以使用缩写,函数、变量、参数名可以用一个小写字母代替,常量可以大写字母命名,如N, M。
int a_var_with_very_long_name;
struct Node{
int dep, s;
};
struct SegT{
SegT *lc, *rc;
};
bool get_ans(std::vector<std::string> &res);
写着好看就行
Astyle:--style=java --indent=tabs=4 --pad-oper --delete-empty-lines
Clang Format:-style=‘{ BasedOnStyle: LLVM, UseTab: Always, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Attach, AllowShortIfStatementsOnASingleLine: true, IndentCaseLabels: true, ColumnLimit: 0 }’
标签:author oid bar 数列 格式化 缩进 http tabs 标准
原文地址:https://www.cnblogs.com/0x7FFFFFFF/p/11396996.html