我正在将球谐方程的示例从 C 传递到 C++,如下所示
document 。
在这样做时,我面临着一个我从未见过的 float ***c
声明问题。该示例可以在第 777 页的同一来源中看到。具体函数如下:
void solvde(…, float **y, float ***c, float **s);
我看到了一些old posts解释一些不常见的声明。另外this post在某种程度上很有用,但这并没有让我完全理解我正在寻找的东西。 我进行了很多研究,但没有找到任何好的解释。此外,在同一来源中没有对此做出任何解释。
有人可以解释或给出这种声明的一个简单的小例子以及如何使用它,最重要的是,它在 C++ 中的等价物是什么? 感谢您指出正确的方向。
最佳答案
float
是浮点类型的类型名称。 float 用于表示有限精度的有理数子集。
给定类型名称 T
, T*
是一个类型名称,它是一个指针类型。具体来说,它是一个指向 T
类型的指针。 。指针用于间接“引用”(指向)另一个对象。指针的值是存储所指向对象的内存地址。通过指针间接获取所指向对象的值是可能的。
指针通常用作迭代器来遍历数组的元素。这是通过“指针算术”实现的:通过向指针加 1,将其更改为指向数组的后继元素。
因此,float*
是指向 float
的指针。此外float**
是一个指向 float*
的指针即指向 float
的指针。最后,float***
是一个指向 float**
的指针即指向 float
的指针的指针.
what would be its equivalent in C++?
C++ 中存在指针、指向指针的指针和指向指针的指针。
I saw some old posts explaining some not usual declaration.
在 C 中很少需要“三星级”指针,在 C++ 中也很少需要它,但没有什么特别的。
关于c++ - 声明 float ***c 的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59604839/