c++ - 声明 float ***c 的含义

标签 c++ c c++11

我正在将球谐方程的示例从 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/

相关文章:

c++ - 如何推断最嵌套的迭代器类型?

c++ - 枚举器运算符重载 C++ 中的 '&' token 之前的预期初始值设定项

具有 const 初始值设定项列表的 C++ 对象数组

c++ - 将 bool 数组视为二进制递增

c - 使用bash脚本查找C程序的方法和方法调用

c - 如何知道现在正在读取的行数

c++ - 使用 boost::multi_index reverse_iterators

c - 带描述符的 free() 函数

c++ - 使用 Win32 线程模型时,MinGW-w64 是否支持开箱即用的 std::thread?

c++ - 用花括号初始化一个 std::array of tuples