社区讨论

关于编程的几个习惯问题讨论

学术版参与者 18已保存回复 32

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
32 条
当前快照
1 份
快照标识符
@mi6mc9hr
此快照首次捕获于
2025/11/20 07:13
4 个月前
此快照最后确认于
2025/11/20 07:30
4 个月前
查看原帖
我认为在编程时应养成以下习惯:
1:代码总体简洁明了,不故意空行,压行(当然你要写题解的话,空行说明也无所谓)。
2:在定义整型变量时,若不清楚,最好定义long long
3:有大量数据输入时,要养成加快读和快写的习惯。
4:打分号,括号,return 0;这些就不用说了吧。
5:习惯用#define,这会让你的代码好写许多:
比如(参考大佬习惯):#define ll long long
#define R register int//一开始我也不知道是什么,但后来查了,原来是将一个变量存到cpu的位置,
调用就快很多,而且听说内存也可以减少?但不能这样定义太多变量,一般for循环时定义一下即可。
#define rep(i,x,y) for(int i=x;i<=y;i++)
#define il inline
#define N 100005//这里的N一般是用在数组上的,如int f[N],c[N];这样改大小时,只需对N进行操作。
6.若不是必须返回值的函数,最好用void,而且据我看大佬的习惯,他们通常用在函数类型前加个inline,虽然我也不知道有什么用,但据说调用会快一些。
7.重要的变量,数组,等等,最好在using namespace std;下面一行声明,这样就不用清零了。
8.每次操作完一波后,有些变量和数组记得清零。
9.能够手打的stl模板,最好手打,因为许多stl的板子很慢。(sort除外!!,我才不手打!!)。(当然我才不会告诉你我平时是直接用stl加#pragma GCC optimize(2))
10.能打scanf和printf就别用cin和cout,因为后两者较慢。(我才不会告诉你我平时开了std::ios::sync_with_stdio(false);然后接着用cin和cout)
11.这个习惯是为了迎合vim,字符串输入,别用gets。
12.if的双等于号,我不信哪个人没犯过,,,因此判等时,一定要注意。
13.编完成程序后,先检查循环体有没有写错,主要是变量那里,自加和自减搞反,会让你想死。
14.检查的几个习惯:
查死循环:找到循环体,然后在开头加上cout<<"sb";要是运行后不停出现sb,就说明是这里有死循环。
查某语句是否使用:在该语句下随便加上输出某段话的代码。
查变量就不用说了吧,输出即可。
此文是我平时的积累,想和大家分享一下,文笔不好别喷。。。

回复

32 条回复,欢迎继续交流。

正在加载回复...