这种编程风格为什么更好些??
int f(){
..
}
而不是int f()
{
''
}
我看有个地方说什么某个linux的行家倾向于第一种写法,谁能给讲为什么吗
就像int *p,比int* p风格要好些一样
[解决办法]
I used to the second style. Don't see any remarkable advantage for one to choose over the other in nowadays.
I am kind of thinking that maybe it is something with old-style C. In days before C99, there is no function prototype in C, e.g., when you define a function, you write something like this:
int f()
int a,int b
{
}
When a function doesn't accept any parameters, the first form
int f(){
}
will make it more clearer that the function dose not have parameters.
I am just shooting a target in dark. Be my guest to shoot me ~
[解决办法]
这种东西我感觉怎么样能够减少问题和最早发现问题,那么这样的就是好的了!
大括号我两种都用过,公司规定怎么写,就怎么写了。只要一样项目中所有人写的一致就好了
指针的定义就是各有各的有点了
int *p;这种法可以联着定义好几个,就如二楼所说的
int* p;这种写法可以认为int*是指针类型,但是容易造成联写时的理解错误
如: int* p, i;很可能是想定义两个指针的。
但是如果再加上一条规范:声明变量时一行只能声明一个,而且声明时必须初始化。
用第二种就时比较安全了
总之,写代码注意一下,人的理解是不是和编译器的理解一样,就OK了。
[解决办法]
if(...) {
}
比
if(...)
{
}
要好这话我倒是听说过,原话好像说这样对齐时更整齐,因为第一种的段落开始结尾是一行对一行。
不过我全当他是鬼扯。还是觉得{对}更容易看清楚些。
"就像int *p,比int* p风格要好些一样"
我是一直都用第二种的,不觉得这样能更快地看清楚类型吗?
几个连一起的时候我会写成
int* a, * b, * c;
int x, y, z;
没必要都放在一行写吧?类型不同的变量含义用途会有很大区别,显然分开写更容易理解。
我使用int* p的另一个理由是,我从来只在做取值操作时*p才把两者放在一起。这样,在读代码和批量改程序的时候能提高不少效率。
其实style这种东西很多书上写的不一定有道理,而且公认的style也是在不断演变的。关键是自己写程序的时候要保持一致。多捉摸捉摸,会有好处的。