c++ - 在 C++ 中声明 &ref=a 和 ref=&a 等变量之间的区别
问题描述
我对遇到的两种类型有点困惑,比如如果 int a=0,“&ref=a”指的是什么,“ref=&a”指的是什么?
这些是否与保存变量地址的目的相同?
解决方案
看到这个
int a=10;
int &ref=a;
std::cout<<ref;
它将打印 10
int a=10;
int *ref=&a;
std::cout<<ref;
它将打印 a 的地址,如果你想要值,你应该这样输入*ref
,即你应该取消引用它。
#include<iostream>
#include<fstream>
void fun(int &var)
{
var=100;
}
int main()
{
int a=10;
fun(a); //no need & here
std::cout<<a;
return 0;
}
看到这个
#include<iostream>
#include<fstream>
void fun(int *var)
{
*var=100;
}
int main()
{
int a=10;
fun(&a); //need & here
std::cout<<a;
return 0;
}
推荐阅读
- amazon-web-services - 您如何从 aws cli 获取访问令牌到期时间?
- c# - 如何在工具栏跨平台更改三个 btn 的颜色
- ubuntu - 如何防止 conda 全局安装 cudatoolkit 10
- spring-boot - 如何在 Spring Boot Thymeleaf 列表中使用 Bootstrap 模式?
- powershell - 如何在 Azure CLI 任务中设置 put 变量
- gitlab - 使用 Semantic Versioning 或 Lerna Publish 从 CI/CD 部署时如何确保 Master 和 Dev 分支保持同步
- delphi - SVG 颜色问题:RED 颜色显示为 GREY
- javascript - 将一个数组排序为尽可能接近另一个数组
- bash - 如何将 StartExplorer Eclipse 插件指向 Bash?
- python - Plotly 表达 imshow 滑块崩溃