我正在尝试解决 c++ 中以下三个声明之间的区别。我附上了我的猜测:
const float *x[4]
- 常量浮点数组上的 4 元素指针数组const float (*x)[4]
- 我在这里很困惑......它和上面一样吗?const float *(*x)[4]
- 与上面相同,但“在常量浮点数组的数组上”
任何帮助/解释将不胜感激。
我正在尝试解决 c++ 中以下三个声明之间的区别。我附上了我的猜测:
const float *x[4]
- 常量浮点数组上的 4 元素指针数组const float (*x)[4]
- 我在这里很困惑......它和上面一样吗?const float *(*x)[4]
- 与上面相同,但“在常量浮点数组的数组上”任何帮助/解释将不胜感激。
用于cdecl
了解声明,
const float *x[4]
- 将 x 声明为指向const float的指针的数组 4const float (*x)[4]
-将x 声明为指向const float 数组 4 的指针const float *(*x)[4]
-将x 声明为指向const float 指针的数组 4 的指针资料来源:cdecl.org
const float *x[4] - 4-element array of pointers on arrays of constant floats
指向常量浮点数的 4 元素数组。
const float (*x)[4] - I'm confused here... is it the same as above?
指向 4 元素常量浮点数组的指针。
const float *(*x)[4] - the same as above but "on arrays of arrays of constant floats"
指向常量浮点指针的 4 元素数组的指针。
const float *x[4] - An array of pointers to constant floats
const float (*x)[4] - A pointer to an constant float array with 4 elements
const float *(*x)[4] - A pointer to an array of pointers to constant float