首页 > 解决方案 > 除非另有明确说明,否则 C++ 中的哪些内容总是通过引用传递?

问题描述

我一直认为指针总是在 c++ 中通过引用传递。

Obj* a=0;

Init(a);

在 init 的实现中,我初始化了对象。但是当函数调用完成时,指针 a 仍然为空。

所以我不得不通过引用传递指针。所以传递是相同的,但我将函数声明更改为

Init(obj*&)

现在它可以工作了。

所以我的问题是在 c++ 中默认通过引用传递什么?

编辑:这是让我感到困惑的答案。这家伙正在传递一个 char 数组指针,该指针在返回时更改https://stackoverflow.com/a/8032233

标签: c++

解决方案


没有类型总是“在 c++ 中默认通过引用传递”。如果要通过引用传递,则必须在函数签名中明确表示。


推荐阅读