c++ - char (*(*a[4])())[5] 是什么意思?

标签 c++

您好,我在“测试您的 C++ 技能”中遇到了这个问题。

请举例说明这是什么意思?

已编辑部分:对于多余的括号,已编辑并删除。

char (*(*a[4])())[5]

最佳答案

遵循螺旋规则(由 chris 链接),并从标识符开始:

a

……是……

a[4]

...一个 4...的数组

*a[4]

...指向...的指针

(*a[4])()

...一个不带参数的函数...

*(*a[4])()

...返回指向...的指针

(*(*a[4])())[5]

...五个...的数组

char (*(*a[4])())[5]

...字符。

旁注:去狠狠训斥提出这个问题的架构师,然后找到编写这段代码但没有注释解释的程序员,好好训斥他。如果这是作为家庭作业交给你的,请告诉你的老师他应该指导你如何使用 cdecl,或者如何以一种看起来不像疯子乱写的方式设计代码,而不是浪费你的时间有了这个。

关于c++ - char (*(*a[4])())[5] 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11175623/

相关文章:

c++ - 标准桶排序或计数排序

c++ - 初始化错误太多

c++ - 从多个线程访问和使用 std::vector

C++ 模板化 STL 容器

c++ - 类模板中嵌套类模板的显式特化

c++ - 程序被杀死时调用函数

c++ - Qt - 将文件从一个目录复制到另一个

c++ - 哪个编译器用于生成 Microsoft Office for Mac?

c++ - 使用运算符 = 将 vector (从 vector 的 vector 中提取)分配给另一个 vector 时出错

c++ - 初始化列表作为 operator[] 的参数