コード習慣

EDITORIAL

これは、テキストコードの習慣を記録するために使用されます。

変数&関数

基本的なガイドライン

グレードこの文脈アレイおよびアレイ一緒に一緒に変数、(機能ブロックで)。個別の変数と関数。

int n,m,e,ans;
int cnt;
int head[N];
struct node{
    int to,next;
} edge[N*N];
int vis[N],mch[N];

inline void add(...){...}
void dfs(...){
    ...
}

フロントはハンガリーを終了、星の真ん中の前に、最も基本的な入力と出力されます。同じ機能。

構造体の宣言

コンストラクタ&デストラクタ

何デストラクタは、コンストラクタをコピーしません。

struct node{
    int l,r;
    node():l(0),r(0){}
    node(int _l,int _r):l(_l),r(_r){}
}

演算子のオーバーロード

フレンド関数を使用してみてください。

friend bool operator<(const node &x,const node &y){
    return x.l<y.l;
}

データ構造をカプセル化します

大規模なデータ構造がカプセル化され、それは小さくはありません。

int f[N];
int find(...){...}
void merge(...){...}

struct FHQ{
    ...
} Tree;

&関数宣言

列をなして

のみ使用することを繰り返し、だけ休むことなく、短い長さの機能をインラインで使用します。

inline void add(...){...}
void dfs(...){
    ...
}

テンプレート機能

そのようなテンプレート関数を使用して、入力および出力として、他方は使用されません。

template<typename T>inline void read(T &x){
    ...
}
template<typename T>inline void write(T x){
    ...
}

おすすめ

転載: www.cnblogs.com/ilverene/p/11865383.html