大佬教程收集整理的这篇文章主要介绍了如何从 C++ 标准推断数组 [] 的优先级高于指针?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道像这样的声明
int* a[5];
将 a
声明为指向 int
的 5 个指针的数组。但是,我如何仅通过使用 C++ 标准来推断出这一点?
看C++的语法就行了。
ptr-declarator:
noptr-declarator
ptr-operator ptr-declarator
noptr-declarator:
declarator-id attribute-specifier-seqopt
noptr-declarator parameters-and-qualifiers
noptr-declarator [ constant-expressionopt] attribute-specifier-seqopt
( ptr-declarator )
和
ptr-operator:
* attribute-specifier-seqopt cv-qualifier-seqopt
& attribute-specifier-seqopt
&& attribute-specifier-seqopt
nested-name-specifier * attribute-specifier-seqopt cv-qualifier-seqopt
因此声明
int* a[5];
可以写成
int ( * ( ( a )[5] ) );
也就是说,( ( a )[5] )
是一个 noptr-declarator,而 ( * ( ( a )[5] ) )
是 ptr-operator ptr-declarator。
一个指向 5 个整数数组的指针的声明看起来像
int ( *a )[5];
以上是大佬教程为你收集整理的如何从 C++ 标准推断数组 [] 的优先级高于指针?全部内容,希望文章能够帮你解决如何从 C++ 标准推断数组 [] 的优先级高于指针?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。