Coding style 对象*还是对象*?

Coding style 对象*还是对象*?,coding-style,Coding Style,我熟悉的所有编程语言C/C++、Java、C、Objective C都接受这两种符号。所以我想知道哪个是语义正确的:Object*myObj还是Object*myObj?这要看情况而定。两者都是正确的,但我通常使用Object*,因为指针本身可以被视为一种类型,并且更具可读性 但这有一个问题。C中的指针,按实数表示,只是一个类型的修改,而不是实数类型。如果在一行中声明多个变量,如下所示: Object *a, b; 将a作为指向对象的指针,b作为对象的一个实例,因此我认为正确的方法是将指针与变

我熟悉的所有编程语言C/C++、Java、C、Objective C都接受这两种符号。所以我想知道哪个是语义正确的:Object*myObj还是Object*myObj?

这要看情况而定。两者都是正确的,但我通常使用Object*,因为指针本身可以被视为一种类型,并且更具可读性

但这有一个问题。C中的指针,按实数表示,只是一个类型的修改,而不是实数类型。如果在一行中声明多个变量,如下所示:

Object *a, b;
将a作为指向对象的指针,b作为对象的一个实例,因此我认为正确的方法是将指针与变量放在一起

哪个在语义上是正确的

在语义上它们是相同的。因此,你使用的是一个品味的问题

您喜欢哪种口味?好吧,你可以写object*a,b,并且认为你已经声明了两个指针。当然你没有,你已经声明a是指针,b是对象

所以你当然应该更喜欢对象*a,b而不是对象*a,b。但是,我认为最好还是为每个变量声明指定一行:

object *a;
object b;

这种方法没有混淆的余地,许多编码风格指南都推荐这种方法。

这就是为什么许多编码风格指南坚持每个语句定义一个变量的原因。没错,David!使用每个声明一行,我认为Object*方式更具可读性!:它们在语义上是不平等的。一个是声明的一部分,另一个是对象的一部分,它们在语义上是相同的。他们的意思是一样的。我想知道你对这个词的语义含义的理解是否正确?正如丹尼尔指出的,object*a,b声明a是指向object的指针,b是object。第一种方法会导致误解,因为通过编写object*a,b可以假设a和b都有object*类型,这是错误的,没错。因此,您应该选择写入对象*a,b。但更好的方法是为每个变量声明使用新行。那么就不会有混乱了。