在C中,`const`和例如`int`的顺序有区别吗? 我已经查看了C和C++的常见问题和教程,一直没能找到一个明确的答案。
写下以下内容有什么区别(如果有的话):在C中,`const`和例如`int`的顺序有区别吗? 我已经查看了C和C++的常见问题和教程,一直没能找到一个明确的答案。,c++,c,C++,C,写下以下内容有什么区别(如果有的话): const int i; int const j; 当我们这样做的时候,两者之间有什么区别吗 const int a[10]; int const b[10]; (是的,我知道例如:代码> const int *p < /COD>和 int *const q< /Cord>,第一个是指向一个常量对象的可变指针,第二个是指向一个可变对象的常数指针)。 < P>在C标准或C++标准定义的意义上没有区别。 关于C标准,除了类型说明符外,我没有看到任何明确的声
const int i;
int const j;
当我们这样做的时候,两者之间有什么区别吗
const int a[10];
int const b[10];
(是的,我知道例如:代码> const int *p < /COD>和<代码> int *const q< /Cord>,第一个是指向一个常量对象的可变指针,第二个是指向一个可变对象的常数指针)。
< P>在C标准或C++标准定义的意义上没有区别。 关于C标准,除了类型说明符外,我没有看到任何明确的声明说明符的顺序是无关的。不相关仅仅是定义含义的结果:- 声明有一个说明符列表,其中可能包括存储类说明符(如
)、类型说明符(如static
)、限定符(如int
)、函数说明符(如const
)等inline
- 指定这些说明符的效果的子句只是说明它们存在时的作用。他们并没有说任何影响取决于顺序
- 覆盖类型说明符的子句明确提到类型说明符可以是任意顺序的(例如
),并且可以与其他声明说明符混合使用long int long
请注意,指针指示符
*
,不是声明说明符的一部分。它是声明符的一部分,与指示数组的[…]
和指示函数的(…)
一起使用。出现在*
后面的限定符是声明符的一部分,而不是声明本身的说明符列表的一部分。在简化形式中,声明是“以空格分隔的说明符列表以逗号分隔的说明符列表;
”。说明符的初始列表可以是任意顺序。不,它没有区别。三个限定符const
,volatile
,restrict
,类型名称旁边的顺序没有区别const
typename与C规范中的样式匹配。一个rmark。在更复杂的声明中排序。例如const int*ptr代码>与int*const ptr