引用
对象的别名。通过将声明符写成&d的形式来定义引用类型,其中d是声明的变量名。

C++11中新增了:右值引用(rvalue reference),这种引用主要用于内置类。严格来说,
平时提及的“引用”,指的是“左值引用”(lvalue reference)。

&运算符:取地址运算符

*运算符:解引用运算符。解引用一个指针将返回该指针所指的对象,为解引用的结果赋值

也就是为指针所指的对象赋值。

用代码说话:

<span style="font-size:18px;">#include<iostream>
using namespace std;
int main()
{int i = 42;cout<< "i :\t" << i <<endl;int &r = i;// &紧随类型名出现,因此是声明的一部分,r是一个引用cout<< "r :\t" << r <<endl;int *p;// *紧随类型名出现,因此是声明的一部分,p是一个指针p = &i;// &出现在表达式中,是一个取地址符cout<< "*p :\t" << *p <<endl;*p = i;// *出现在表达式中,是一个解引用符cout<< "*p :\t" << *p <<endl;int &r2 = *p;// &是声明的一部分,*是一个解引用符cout<< "r2 :\t" << r2 <<endl;return 0;
}
</span>

转载于:https://www.cnblogs.com/Genesis2018/p/9079839.html

引用、取址运算符、解引用运算符——傻傻分不清楚相关推荐

  1. 指针(*)、取地址()、解引用(*)与引用()

    指针(*).取地址(&).解引用(*)与引用(&) C++ 提供了两种指针运算符,一种是取地址运算符 &,一种是间接寻址运算符 *. 指针是一个包含了另一个变量地址的变量,您可 ...

  2. 一、初级篇——指针(*)、取地址()、解引用(*)与引用()的区别

    1. 初步了解--指针与取地址 先看程序: #include<stdio.h>int main(void) {int num = 7;int *p = #//初始化指针,也可以写作int* ...

  3. 空指针引用故障(空指针解引用)

    C语言中的指针机制使得它灵活高效,但由于指针操作不当产生的动态内存错误也有很多,比如内存泄漏(Memory Leakage).内存的重复释放.空指针解引用(NullPointer Dereferenc ...

  4. c语言的整型指针解引用与整型变量的区别

    (一)引入:简单介绍一下整型变量,指针,引用符和解引用符 定义一个整型变量a:    int a; 如果使用引用符号&,&a则是整型变量a的地址,也就是一个整型指针. 定义一个整型指针 ...

  5. c语言 空指针解引用,【缺陷周话】第一期:空指针解引用

    代码审计是使用静态分析发现源代码中安全缺陷的方法,能够辅助开发或测试人员在软件上线前较为全面地了解其安全问题,防患于未然,因此一直以来都是学术界和产业界研究的热点,并且已经成为安全开发生命周期 SDL ...

  6. 取地址符和解引用符的区别_(&)和解引用(*)运算符的地址以及C中的指针...

    取地址符和解引用符的区别 Here, we are discussing about the two most useful operators with the pointers, why and ...

  7. c语言解引用运算符,C++ 解引用(*)和箭头(-)运算符的重载

    重载要求: 1.箭头运算符必须是类的成员函数.解引用运算符一般也应该声明为类的成员函数,但不是必须. 2.箭头用算符返回值必须是一个指针,或者是一个重载了箭头运算符的对象. a)如果返回的是一个指针将 ...

  8. java一个引用多大_为什么Java 8为方法引用引入了一个新的“::”运算符?

    在Java 8中,使用::运算符完成引用. 例如 // Class that provides the functionality via it's static method public clas ...

  9. 函数名地址、函数名取地址、函数名解引用问题

    以下,转载自http://blog.sina.com.cn/s/blog_6aafe9c90100xg2y.html 对一个函数进行 如下操作: 1.函数名地址 2.函数名取地址 3.函数名解引用 它 ...

最新文章

  1. vim8支持的linux版本,Vim 8.0 版本安装方法及添加Python支持
  2. Java高并发编程:多个线程之间共享数据的方式探讨
  3. BZOJ1001 狼抓兔子
  4. mxnet基础到提高(10)--读写文件
  5. 2020非全日计算机博士,在职攻读博士是不是非常难,免考在职博士和非全日博士有什么不同...
  6. 2010-03-23 杂七杂八
  7. 蓝桥杯 ADV-197 算法提高 P1001
  8. 吴恩达神经网络和深度学习-学习笔记-39-计算机视觉现状
  9. 通俗易懂的MonteCarlo积分方法(六)
  10. tcp和udp协议的聊天 和udp协议的时间同步机制-----编码
  11. java oracle 乱码_oracle中的数据库乱码的原因与解决
  12. hdu 5294 Tricks Device(最短路)
  13. gcat广告电商云南百收涉及传销新模式:社交电商消费返利
  14. 老卫带你学---DDSM乳腺癌数据研究
  15. 中国的程序员为何经常被叫做码农?
  16. 第一章 MySQL数据库的简介
  17. Arduino Nano下使用u8glib点亮Oled 128x6
  18. 经典TVB台词100句
  19. 股神巴菲特的成功之道
  20. nodejs下载及安装(windows)

热门文章

  1. 【知云】第六期:数据级异地容灾如何实现?阿里云帮你打通数据的“任督二脉”...
  2. 2957: 楼房重建
  3. Struts框架的核心业务
  4. 正则表达式及grep
  5. sql server 2000能否得到一个表的最后更新日期?
  6. myeclipse中对jar包中的类热部署调试方法介绍
  7. RocketMQ核心概念(翻译)
  8. 2017,互联网出海应该注意哪些问题?
  9. 实用的 PHP 正则表达式
  10. Spring MVC控制流程与简易配置方案