c++ - 除非另有明确说明,否则 C++ 中的哪些内容总是通过引用传递?
问题描述
我一直认为指针总是在 c++ 中通过引用传递。
Obj* a=0;
Init(a);
在 init 的实现中,我初始化了对象。但是当函数调用完成时,指针 a 仍然为空。
所以我不得不通过引用传递指针。所以传递是相同的,但我将函数声明更改为
Init(obj*&)
现在它可以工作了。
所以我的问题是在 c++ 中默认通过引用传递什么?
编辑:这是让我感到困惑的答案。这家伙正在传递一个 char 数组指针,该指针在返回时更改https://stackoverflow.com/a/8032233
解决方案
没有类型总是“在 c++ 中默认通过引用传递”。如果要通过引用传递,则必须在函数签名中明确表示。
推荐阅读
- java - Centos htop Java Tomcat 高处理器使用率
- opencv - 将 faster_rcnn 模型加载到 Opencv 时出错
- c++ - 为什么我的 for 循环不能正确获取 argv?
- kubernetes - Kubernetes RBAC 限制用户在 Kubernetes 仪表板上仅查看所需资源
- python - Python - 使用 .replace 命令一次替换多个字符
- bash - 在 unix:///var/run/docker.sock 拒绝 Docker 守护进程套接字的权限
- php - 按名称合并/排序数组
- python - 从列表中获取所有不同的组合(Python)?
- three.js - 在 three.js 中创建类似 Shadertoy 的通道,以将程序状态保存在纹理中并在“渲染”着色器中读取它
- sql - SQL选择列上差异最大的行