gpt4 book ai didi

c++ - typedef int array[3] 和 typedef int(array)[3] 有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 21:51:37 28 4
gpt4 key购买 nike

我最近遇到了这种定义 int 数组类型的非正统方式:

typedef int(array)[3];

起初我以为它是一个函数指针数组,但后来我意识到 *() 丢失了,所以通过查看我推断的代码类型数组是 int[3] 类型。我通常会将这种类型声明为:

typedef int array[3];

除非我误认为它们不是同一个东西,否则以前一种方式这样做除了使它们看起来类似于函数指针之外还有什么好处?

最佳答案

What is the difference between typedef int array[3] and typedef int(array)[3]?

它们是一样的。


在声明指针时可以使用括号,使用 *,并导致不同的类型。在这种情况下,括号可能会影响 []int 的优先级。但是,这不是你的情况。

关于c++ - typedef int array[3] 和 typedef int(array)[3] 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46423473/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com