标签:efi 标识符 运算符 air code else 名称 using max
pragma
include
define
undef
define undef 继承上层缩进,其余不缩进。
include 中能使用 < > 的尽量不要使用 " " ;
include 中不使用空格。
define undef 中允许被定义的宏为全部大写或全部小写,其余情况不允许使用大写。
不使用 #if #else #elif #endif #ifdef #ifndef #endif #line #error 以及其他预编译命令。
总是使用 using namespace std 或 导入
等在代码出现过的 std namespace 中的函数。
命名空间中可以使用 #define ,但必须
在结尾处 #undef,且 #define 指令应置于命名空间的开头处。
任何大型数据结构使用其大写简写为名称的单独 namespace , 如
namespace KDT namespace SGT namespace TRP,并总是在命名空间的结尾处 } 后缀一分号 ‘;‘ ,例如:
namespace SGT
{
#define LCH tree[inx].ch[0]
#define RCH tree[inx].ch[1]
void func1()
{
// .....
}
#undef LCH
#undef RCH
};
应置于代码开头处的所有预编译指令之后。
继承上层缩进。
使用 $Allman$ 式花括号,也即花括号换行。 例如:
void Func1()
{
for (;;)
{
// ...
}
if (case)
{
// ....
}
else
{
if (case 2)
{
// ..
}
else { Func2(); return; }
}
}
在任何代码片段中不使用任何 逗号‘, ‘ 运算符连接两个语句,其正确格式为:
for (;;)
{
Func1();
Func2();
}
也即一对花括号的每一个前后都有一个空格,语句之间也有一个空格。
及时内部只有一条语句的if与for等也必须用大括号括起来。
每行不可以有多个(两个及以上)语句。
多个意义独立的代码块之间应用一个空行隔开 ;
非空行尾不应有多余的空格 ;
using namespace std; 后有一空行 ;
函数、成员函数、结构体、全局变量块之间必须用空行隔开。
if for while 等语句,若其后只有一条语句 (或嵌套) ,可以直接缩进 而无需花括号 " { } " 。
继承上层缩进 。
除声明及调用函数时的括号紧跟其他字符外,任何成对小括号的前后必须有一个空格隔开其他字符,如:
for (;;)
Func1();
if (case1)
{
..
}
int i = (j * 100 + log2(100) );
若右括号** ‘)‘** 后接的是分号 ‘;‘ 则空格可以省略。
$OI$ 代码中不使用指针。
引用部分采用 Rust 式命名,任何引用前的标识符 ‘&‘ 和引用变量之间用一个空格隔开,若前有类型标识符,则引用标识符紧跟类型标识符,如
void Func1(int& q, int& t)
{
int a, b;
int& aref = a, & bref = b;
}
继承上层缩进 。
函数采用大驼峰命名法,选择性地加入下划线 **‘_‘** ,如:
void Update()
{
···
}
int Qry()
{
···
}
Mat Gauss_Elimination()
{
···
}
空函数体必须为以下格式:
void Func1() {}
继承上层缩进 。
逗号前后都不能有空格。
冒号的两侧必须有一空格。
‘++‘ ‘--‘ 前/后不需空格。
形如 vector< pair<int, int> > 的声明,每对 <> 前后空格需要对称。
‘::‘ ‘.‘ 的两侧不应有空格。
初始化列表前后不需空格,如 max({a, b, c});。
继承上层缩进 。
继承上层缩进。
单行注释使用 $//$ ,之后应有一空格,如 $// do?something$ 。
多行注释使用 $/* /$ ,其中 $/$ 和 $/$ 应独占一行,且 $/$ 和 $*/$ 后应有一空行,例如:
int func1()
{
int a=1,b=2;
/*
return 3;
*/
return a+b;
}
标签:efi 标识符 运算符 air code else 名称 using max
原文地址:https://www.cnblogs.com/oierwyh/p/11122837.html