Loading docs/intro/common-tricks.md +29 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,35 @@ for (int i = 0; i < n; ++i) res = res OP(a[i] OP a[i + 1]); ``` ## 循环宏定义 我们写代码时,像下面这样的循环代码写得会非常多: ```cpp for(int i = 0; i < N; i++) {} ``` 为了简化这样的循环代码,我们可以使用宏定义: ```cpp #define _for(i, a, b) for(int i = (a); i < (b); ++i) ``` 这样写循环代码时,就可以简化成 `_for(i, 0, N)`。例如: ```cpp vector b; _for(i, 1, a.size()) {...} ``` 另外推荐一个比较有用的宏定义: ```cpp #define _rep(i, a, b) for(int i=(a); i <= (b); ++i) ``` > 注:参考《算法竞赛入门经典 习题与解答》 ## 善用 namespace 使用 namespace 能使程序可读性更好,便于调试。 Loading Loading
docs/intro/common-tricks.md +29 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,35 @@ for (int i = 0; i < n; ++i) res = res OP(a[i] OP a[i + 1]); ``` ## 循环宏定义 我们写代码时,像下面这样的循环代码写得会非常多: ```cpp for(int i = 0; i < N; i++) {} ``` 为了简化这样的循环代码,我们可以使用宏定义: ```cpp #define _for(i, a, b) for(int i = (a); i < (b); ++i) ``` 这样写循环代码时,就可以简化成 `_for(i, 0, N)`。例如: ```cpp vector b; _for(i, 1, a.size()) {...} ``` 另外推荐一个比较有用的宏定义: ```cpp #define _rep(i, a, b) for(int i=(a); i <= (b); ++i) ``` > 注:参考《算法竞赛入门经典 习题与解答》 ## 善用 namespace 使用 namespace 能使程序可读性更好,便于调试。 Loading