之间有什么区别
Simple_window* sw
和
Simple_window *sw
其中简单窗口只是类,sw是从该类创建的对象。
答案 0 :(得分:1)
根据*
字符的位置没有区别。
有些人会说
Simple_window* sw
是优越的,因为它将指针指针*
与类型名Simple_window
相关联,以提供真实类型:Simple_window*
,即“指向Simple_window的指针”。
其他人说最好将*
特写放在变量上,因为C ++只会为下一个变量解释它。也就是说,
Simple_window* sw, anotherSw
实际上将sw
声明为指针,将anotherSw
声明为非指针Simple_window
对象!因此,在使用多个声明时,紧密变量版本可能更好地表明意图。
Simple_window *sw, *anotherSw
由于这个问题,我养成了不使用多个对象的单行声明的习惯。
我更喜欢第一个版本,同意我曾经读过的描述它更像“C ++ - ”。
答案 1 :(得分:0)
除了
之外没有太大区别Simple_window* sw
表示您正在定义Simple_window*
类型的变量,而
Simple_window *sw
意味着你要定义一个Simple_window
类型的指针,它们都是指针。
当您一起定义多个变量时会出现差异,例如:
int* x, y, z;
暗示x,y和z都是指针,它们不是(只有x)。 第二个版本没有这个问题:
int *x, y, z;
换句话说,由于*绑定到变量名而不是类型,因此将它放在变量名旁边是有意义的。