Gab*_*ego 20 c++ arrays typedef
我最近遇到了这种非正统的方式来定义一个int数组类型:
typedef int(array)[3];
Run Code Online (Sandbox Code Playgroud)
起初我以为它是一个函数指针数组,但后来我意识到它*和()缺失,所以通过查看代码,我推断出类型数组是一个int[3]类型.我通常会将此类型声明为:
typedef int array[3];
Run Code Online (Sandbox Code Playgroud)
除非我误以为它们不是同一个东西,除了使它们看起来类似于函数指针之外,以前的方式这样做有什么好处?
gsa*_*ras 20
typedef int array[3]和之间有什么区别typedef int(array)[3]?
他们是一样的.
当声明指针,使用括号时,可以使用括号*,并产生不同的类型.在这种情况下,括号可能会影响[]或的优先级int.但是,这不是你的情况.
| 归档时间: |
|
| 查看次数: |
1576 次 |
| 最近记录: |