注意:这个问题是关于星号(*)的位置.
在大多数C代码中,我看到(例如,在Beej的网络编程指南中),所有变量声明/定义都使用T *name格式,即绑定*到变量名称.指针被认为属于变量,而不是类型.
在我看到的大多数C++代码中,格式是T* name,即它绑定*到变量的类型.指针被认为属于类型,而不是变量.我自己,作为一个纯粹的C++编码器,也使用这种格式,因为指针类型清楚(对我来说)属于类型,而不是变量.(很明显,即使是C++标准也在示例中使用了这种格式.:))
这有(历史性的)原因吗?当程序员开始做C++时,思维方式是否有所改变?
如果一个C编码器(使用前一种格式)可以解释为什么他/她使用它而不是后者,这也是很好的.