首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >int * a = nullptr和int *a=nullptr之间有什么区别?

int * a = nullptr和int *a=nullptr之间有什么区别?
EN

Stack Overflow用户
提问于 2019-03-02 11:32:40
回答 2查看 139关注 0票数 0

在博客和论坛上,我注意到人们使用不同的方式在c++中声明指针:

代码语言:javascript
复制
int* a = nullptr;

代码语言:javascript
复制
int *a = nullptr;

这两种方法有区别吗?如果是,什么是?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-02 11:35:29

在C++中的大多数上下文中,空白被忽略,这就是其中之一。您可以编写它,比如int*a=nullptr;int *a=nullptr;int* a=nullptr;int * a=nullptr;或其他适合您的东西,这对编译器来说都是一样的。在人们的偏好中,大部分原因归结为风格指南,通常或其他形式的论证,它们在自己的代码库中最易读。

正如其他人所指出的那样,这可能更多地涉及对如何根据声明确定类型的误解,在许多情况下,这种误解确实会使人感到困惑。我建议你研究如何阅读这些(像螺旋规则这样的东西是一个很好的地方,即使它不是100%的准确性),因为这将有助于缓解大部分的困惑。

票数 5
EN

Stack Overflow用户

发布于 2019-03-02 11:35:34

没什么区别。*只适用于a

示例:

代码语言:javascript
复制
int *a= nullptr, b=12;   // a is a pointer, b is a plain int
int* a= nullptr, b=12;   // still a is a pointer and b an int, 
                         // despite misleading impression conveyed
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54958035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档