C++指针的*号位置为什么这么别扭啊

2020-10-15 17:09:47 +08:00
 zxCoder
int *fun(){}

这是返回一个 int 型指针,咋不写成

int* fun(){}

我的理解是为了强调 int*不是一个类型,而*函数名()就表示返回一个“所声明的返回类型”的指针类型。

Clion 自动格式化也会格式化成第一种

2583 次点击
所在节点    问与答
26 条回复
crclz
2020-10-15 22:37:56 +08:00
我 vscode c++ 格式化用的 Chromium 配置,
它会做出以下的格式化:
int* a;
int *c, *d;
by73
2020-10-16 00:23:25 +08:00
“成也兼容 C,败也兼容 C”
levelworm
2020-10-16 01:13:32 +08:00
@zxCoder 我觉得这种代码不写即可,每个变量占一行。
black11black
2020-10-16 01:16:47 +08:00
月经问题
msg7086
2020-10-16 04:30:10 +08:00
现代语言?现代语言可以用现代技术啊?
智能指针,多好。
很快 new 就要过气并移除了,以后写代码都是智能指针生成对象了。
然后传指针也可以改用传引用。
只有和古典代码交互的时候才需要裸传指针地址了。
JackalZhao
2021-11-15 20:40:05 +08:00
* 后置我也看着难受,我猜 C 语言这个设计是为了兼容这样的语法:

```
int *pointers[10]; /* Declares an array of pointers */
int (*pointer)[10]; /* Declares a pointer to an array of 10 elements */
```

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/715311

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX