* 和 ** 在 C++ 函数声明中是什么意思?

What does * and ** mean in a C++ function declaration?

本文关键字:是什么 意思 函数 C++ 声明      更新时间:2023-10-16

在此函数声明中:

long * multiply(long ** numbers){

* 和 ** 是什么意思?我有点初学者,以前没有遇到过这个问题,所以任何解释将不胜感激。

指针:

指针声明符:声明S* D;声明 D 作为指向确定类型的指针 作者:decl-specifier-seq S.

进一步:

指向对象的指针表示对象占用的内存中第一个字节的地址。

long*是指向long的指针。long**是指向long*的指针。

您应该阅读更多内容,最好远离具有如下函数声明的代码一段时间:

long * multiply(long ** numbers)

很难想到一个现实的场景,即乘以数字需要使用long**。原始指针很容易使用错误,在现代C++中,您宁愿只在需要时使用它们(这实际上非常罕见(。