有谁知道为什么Stroustrup的风格是如下所示放置指针?具体来说,Stroustrup提供了哪些有关此问题的指导?

int* p;


int *p;

因为声明多个变量将需要在每个变量名称旁边加星号。这将导致:
int* p, *x;


int *p, *x;

在K&R C书中,他们解释说星号/指针用作助记符,以帮助理解。我觉得奇怪的是,指针/星号与类型相关联,而变量与每个示例的第二个示例所显示的一样。是否对选择第一种样式有一定的背景感兴趣。

希望从Stroustrup那里得到一些报价。

我要在K&R C 2nd Edition语法第235页中添加星号(指针)绑定(bind)到声明符(即标识符)上。

c++ - C++风格: Stroustrup' s placement of pointer asterisks-LMLPHP

答案
在此article from Stroustrup上编码风格。他解释说,两者都是有效的,并且取决于程序员的喜好。

我不同意这是一个基于观点的问题。 Stroustrup的文章清楚地回答了这个问题,没有发表意见。

最佳答案

Bjarne建议-Stick to one pointer per declaration,C++着重于类型以及指针的声明,以避免任何形式的混淆。

Bjarne Stroustrup's C++ Style and Technique FAQ [添加重点]:

关于c++ - C++风格: Stroustrup' s placement of pointer asterisks,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61994573/

10-10 10:39