我目前正在学习C ++,并且遇到了许多以null结尾的字符串。这使我思考,在声明指针时哪种方式更合理:
char* string
或者char *string
? 对我来说,char*格式更有意义,因为"string"的类型是指向字符的指针,而不是字符。然而,我通常看到后一种格式。这同样也适用于引用。
请问是否有逻辑上的原因使用后一种格式?
个人而言,我从不在一行上声明多个变量。
因此,由于我真的觉得模式很好,我发现这种简单的模式很吸引人:
type varname
int[] iArray
是Java的语法。 - curiousguy我也认为在声明单个变量时使用char* foo更有意义。
我使用另一种格式的唯一情况是在一行上声明多个变量,例如:
char *foo,bar;
如果您每行只声明一个变量,那么第一种建议(char* var)就可以了,但是个人而言,我更喜欢“char *var;”和每行只有一个变量 - 这可能会使函数的行数更长,但非常清晰。
最后,C++应该使用“string var”,但我们总是要么继承带有“char *”的代码,要么连接到非C++库。
char *
,而不是具有char
类型的名为“*string”的变量。人们直观地解析代码沿着空格边界,因此合理地格式化代码,使其在解析时具有有意义的读取方式。当然,下面的答案解释了为什么有时会使用违反直觉的约定。 - aroth