Ada*_*dam 3 c++ syntax whitespace pointers code-formatting
我知道从技术上讲,以下三种方式都是有效的,但是有任何合乎逻辑的理由以这种方式做到这一点吗?我的意思是,c ++中的很多东西都"技术上有效",但这并不会使它们变得不那么愚蠢.
int* someFunction(int* input)
{
// code
}
Run Code Online (Sandbox Code Playgroud)
要么
int *someFunction(int *input)
{
// code
}
Run Code Online (Sandbox Code Playgroud)
要么
int * someFunction(int * input)
{
// code
}
Run Code Online (Sandbox Code Playgroud)
我个人认为第三个是烦人的,但有一种"正确"的方式吗?我通常更倾向于使用第一个(因为第二个看起来更像是它被用作解引用运算符 - 它不是)
这是个人品味的问题.我更喜欢第一种方法,而老派程序员倾向于使用第二种方法(来自旧的好时间C次).
有区别,请考虑以下事项:
int* p, q; // here p is a pointer to int, but q is just an int!
Run Code Online (Sandbox Code Playgroud)
第一种方式(int* p
)的吸引力在于它读作"int指针是一种类型p
",而备选int *p
读取为"int是一种类型*p
"(也是正确的).