C++指针*为什么靠后会比较好?
大多数书中和大神的代码里,往往指针的*都是靠变量而不是靠类型的,这主要是为了不造成我们第一眼对变量类型的误解和对指针类型的误解,比如:
int* p1,p2
我们一眼看上去是不是通常会觉得p1、p1都是一个int*的指针呢?因为我们通常会误把int*当作一个类型,然而无论int*还是int *,它都只是一个int型的指针并非一个类型。为了避免这种错觉,我们改为下面的写法:
int *p1,p2
这样我们是不是就能一眼看出p1、p2到底是一个什么类型了呢?而且如果一行申明两个指针而采用前置*的写法:
int* p1,*p2
这样是不是看起来很怪呢?
由此可见,这并非一个有绝对答案的问题,往往要看我们的代码风格。如果我们申明变量时不会同一行申明多个变量,那倒是并没有太大影响。如经常同一行申明多个变量,为了避免视觉影响造成混淆引起误解,我们还是把指针的*靠后写比较好。