c++ - 混淆 C++ 中的 & 和 *
问题描述
我刚学过C++,不懂下面的:
代码部分:
int *i = new int;
*i = 0;
int &j = *i;
j++;
问题:最后一行的含义是:j++
?
答:将所指向的值i
加一。
我的困惑:
我不确定int &j = *i;
j
和指针有什么关系i
?j
是指针还是其他?
解决方案
我不确定 int &j = *i; 的含义 j和指针i有什么关系?j是指针还是其他?
int &j
正在声明一个变量j
、类型int&
或整数引用(请参阅什么是 C++ 中的引用变量?)。
int &j = *i
将地址处的值i
赋给引用变量j
。因此,无论何时修改j
,您都会进行修改*i
(反之亦然)。
推荐阅读
- system-verilog - systemverilog中wave中的危害
- php - Codeigniter 4 无法连接到数据库
- angular - 两个功能之间的角度(点击)切换
- crystal-reports - 整数和字符串的总和
- vector - 有没有办法获取向量的每个 n * i 元素?
- java - 如何在 Java 中处理 AWS CDK CfnSecurityGroup
- python - CSV到JSON文件的转换和保存
- ios - 如何让 Storyboard 上的 UISplitViewController 先显示主视图?
- c# - 根据常用组或接口名称对剃须刀页面进行分类/分类
- python - 我在 anaconda 程序中遇到 tensorflow 库问题