在 C++ 中通过引用传递指针的原因?

Reason to Pass a Pointer by Reference in C++?(在 C++ 中通过引用传递指针的原因?)
本文介绍了在 C++ 中通过引用传递指针的原因?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

在什么情况下您希望在 C++ 中使用这种性质的代码?

Under which circumstances would you want to use code of this nature in c++?

void foo(type *&in) {...}

void fii() {
  type *choochoo;
  ...
  foo(choochoo);
}

推荐答案

如果您需要修改指针而不是指针指向的对象,您可能希望通过引用传递指针.

You would want to pass a pointer by reference if you have a need to modify the pointer rather than the object that the pointer is pointing to.

这类似于为什么使用双指针;使用对指针的引用比使用指针稍微安全一些.

This is similar to why double pointers are used; using a reference to a pointer is slightly safer than using pointers.

这篇关于在 C++ 中通过引用传递指针的原因?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

What do compilers do with compile-time branching?(编译器如何处理编译时分支?)
Can I use if (pointer) instead of if (pointer != NULL)?(我可以使用 if (pointer) 而不是 if (pointer != NULL) 吗?)
Checking for NULL pointer in C/C++(在 C/C++ 中检查空指针)
Math-like chaining of the comparison operator - as in, quot;if ( (5lt;jlt;=1) )quot;(比较运算符的数学式链接-如“if((5<j<=1)))
Difference between quot;if constexpr()quot; Vs quot;if()quot;(“if constexpr()之间的区别与“if())
C++, variable declaration in #39;if#39; expression(C++,if 表达式中的变量声明)