1
58
有人问他这个问题,他说(转述)
为我工作。我是一个
|
2
22
实际上,星号附加到变量上(从C继承的约定),所以
声明
间距对
使用
为了创建两个指针,或者更好,将其拆分为多个声明以避免混淆。
|
3
18
您过于简单化C++声明的结构(即使您所做的点是完全合乎逻辑的)。只有在第一种情况下,C++声明看起来是由类型名称和逗号分隔的实体名称序列组成的,但实际上C++(以及C)声明实际上是由类型名称和序列组成的。 声明符 . 您声明的实体的完整类型信息在 二 单独的位置和部分实际上是声明器的一部分。它只是C++中的方式。为了更好地反映声明的实际结构(如语言所见),最好将声明格式化为
即显式分组
至于为什么它在语言中是这样设计的,正如你在评论中所问的那样…如您所知,描述所声明实体类型的声明语法部分可以出现在名称的左侧(如
对于出现在右边的位,用任何其他方法都是不可能的。它们别无选择,只能用实体名而不是类型名分组。人们可能会问为什么上述声明不在C++中完成
(即,所有与类型相关的内容都显示在紧凑组的左侧)这个问题的答案就是它是C++的方式。这种方法是从C继承而来的,这里的“声明必须类似于使用”经常被引用作为理由。 另一件需要记住的事情(以及经常被错误地解释的)是,声明中与类型名相邻的限定符是通用的 类型 不是第一个单独声明者的一部分。例如
声明
订购(尽管同时我更喜欢分组
|
4
8
这只是C声明语法中许多不规则之处之一。类型修饰符
见
here
为什么
|
5
3
不,
声明
|
Community wiki · safe_ptr实现 1 年前 |
lplplplp · 为什么不能访问函数外的结构指针 2 年前 |
Fabio · 在c中将指针赋给常数指针++ 2 年前 |
Gabe Tucker · 无法在golang中分配接口对象指针 2 年前 |