Pointer To 引用传递的指针

Posted

技术标签:

【中文标题】Pointer To 引用传递的指针【英文标题】:Pointer To Pointer passed by reference 【发布时间】:2020-02-26 16:17:05 【问题描述】:

只是为了检查:如果我想通过一个函数通过 ref 传递一个双指针 float **ptr,我应该将它声明为:

void Func(float **&ptr)

Func(float **&&ptr)

?

【问题讨论】:

&& 是rvalue reference && 含义不同 使用Func(float **&ptr)。此类问题可以通过good textbook 来回答,甚至可以通过反复试验来回答。 不要让“指针”部分迷惑你。要通过引用传递任何类型 T,请编写获取T& 的函数。对于float**,这意味着float**& 您确定要引用指向指针的指针吗?虽然这可能是正确的做法,但请确定。这么多的间接性通常表明问题考虑得太多或没有考虑得足够远。 【参考方案1】:

将评论转换为答案

不要让“指针”部分让您感到困惑。要通过引用传递任何类型T,请编写函数以获取T&。对于float**,这意味着float**&

【讨论】:

以上是关于Pointer To 引用传递的指针的主要内容,如果未能解决你的问题,请参考以下文章

go系列之值传递引用传递与指针传递

C ++将向量传递给函数:引用与指针,哪个是首选? [复制]

通过引用传递参数到指针问题

值传递,指针传递;引用传递(c++独有)本质

C++中值传递指针传递引用传递的总结

按引用传递或按值传递指针容器之间的区别