[001]初识引用

  引用(reference)相当于为对象起了另一个名字。该类型引用另外一种类型。引用标识符以"&"开头。

1 int val = 180;
2 int &reference = val;     //refVal指向ival
3 int &mistake;              //错误:引用必须被初始化

通过上面的例子,可以看到一般在初始化变量时,初始值会被拷贝到新建的对象中。而定义引用时,程序则是把引用和它的初始值绑定在一起。一旦引用的初始化完成,绑定关系将一直存在,因此,引用必须初始化

注意,引用即别名,它并不是一个对象。

1 int i = 10;
2 int &refi = i;
3 refi = 1;             //即将1赋给了i
4 int a = refi;        //相当于使a = i

引用的初始值必须是一个对象,且引用的类型必须与其对象严格一致,所以:

1 int &ref = 0;        //错误
2 double a = 1.12;
3 int &refa = a;      //错误
时间: 2024-10-25 12:08:24

[001]初识引用的相关文章

【C#学习笔记】No.001 初识.NET Framework

关于贵客访问<C#学习笔记>的温馨提示: 本笔记用于个人学习C#技术的知识点.实例练习记录与心得记录 鄙人愿意和喜欢相关技术或者正打算学习C#的朋友进行交流学习 由于是个人是初次学习且该记录为学习笔记,所以难免会有错误或者不清晰的地方,这些地方会在后面的学习中不断改正和改善 对于已经出现的错误,也希望来到博客的人能指出并提示我或指导我,在此感谢大家了 对于决定共同学习的朋友(零基础),请看一下以下提示: 初学者不要过于钻牛角尖,鄙人的学习笔记都是从最基础的开始做的,有理论也有实例 每篇开头会有

【小甲鱼】001初识python

脚本语言(Scripting language): 是电脑编程语言,可以以简单的方式快速完成复杂的事情,所以python比C.C++.Java之类的编程语言简单容易. 脚本可以让原本用键盘进行的交互式操作自动化,用户可以使用脚本将一些常用的操作组合成一组串行,便于操作. IDLE: IDLE是python程序的基本IDE(集成开发环境),具备基本的IDE功能,用于基础python开发效果不错 IDLE是一个Shell(外壳),类似Windows的cmd窗口,是一个通过键入文本与程序交互的途径 打

并发编程001 --- 初识并发

什么是并发编程 简单的说,所谓的并发编程指的是同一台处理器“同时”处理多个任务. 并发的三种场景 1.分工 合理的拆解不同的任务,并能分配到线程,使多个任务更高效的执行. 2.同步 线程的执行依赖其他线程的执行结果. 3.互斥 多个线程需要抢占共享资源. 并发问题的源头 多线程的出现虽然可以提高应用程序的执行效率,但是不可避免的,也会引入一些问题,这些问题的源头如下: 1.缓存带来的可见性问题 由于CPU的读写速度远远大于内存的读写速度,故CPU利用缓存来缓和CPU和内存读写速度差异带来的问题:

JavaScript的值传递和引用传递

本文和大家分享的主要是javascript中值传递和引用传递相关内容,一起来看看吧,希望对大家学习javascript有所帮助. JavaScript有5种基本的数据类型,分别是:布尔.null.undefined.String和Number.这些基本类型在赋值的时候是通过值传递的方式.值得注意的是还有另外三种类型: Array.Function和Object,它们通过引用来传递.从底层技术上看,它们三都是对象. 基本数据类型 如果一个基本的数据类型绑定到某个变量,我们可以认为该变量包含这个基本

完美C++(第5版)(双色)

完美C++(第5版)(双色) 薛正华 沈庚 韦远科 译 ISBN 978-7-121-23198-8 2014年6月出版 定价:148.00元 788页 16开 内容提要 <完美C++(第5版)>为读者提供了一个学习.理解和掌握 C++编程语言的全面视图,覆盖面广.实用性强.书中介绍了 C++的基本数据类型,如字符串.数组.指针.结构体.类等,同时也详细描述了面向对象编程语言的特性:封装.继承和多态,以及这些特性在 C++语言中的具体使用方式.本书的后面章节还重点介绍了模板.链式数据结构.标准

初识iOS NSTimer 循环引用不释放问题

原文转自 :http://www.codecate.com/code/?p=77 最近开发遇到NSTimer Target 造成循环引用问题,不释放,以下是解决方案. stackoverflow上的一个解决方案 http://stackoverflow.com/questions/16821736/weak-reference-to-nstimer-target-to-prevent-retain-cycle 原文如下 Weak Reference to NSTimer Target To Pr

初识Swift中的值和引用,循坏引用、代理的注意点

1.0 在Swift中分有值类型和引用类型 Int .String . 结构体和枚举都属于值类型, 将值类型传递给方法是,将在内存中创建其副本,并传递这个副本:这样我们就可以随心所欲修改它,而不用担心这会修改传入的原始值. 传递引用类型时不会复制它,而将其地址提供给可能使用他们的函数或方法.闭包以及从类实例化得到的对象都属于引用类型.将闭包或者对象传递给方法时,不会创建其副本,而是传递引用(内存地址).由于传递引用类型时不会创建其副本,因此需要特别小心,确保在正确的时间妥善地释放它们,过早的释放

初识HTML之标记2(标题标记、段落标记、引用文本标记)

在<body></body>标记中的内容就是我们在页面看得见的内容. 定义正文标题标记:HTML支持6个级别的正文标题<h1></h1>...<h6></h6>.重要性由大到小.<h1>最大,<h6>最小.还正文标题标记中的元素内容会以较大的粗体显示.当然正文标题标记结束后它会自动换行. 定义段落标记:<p></p>例如<p>我在学习HTML</p>同样段落标记结

初识C++ 的 this ,引用 的区别

在说明问题之前,先回顾在C语言中,一个对象怎么调用对象本身里的成员.又回顾到了以前TOM请lucy吃饭的问题: 一 .this 指针 1 #include<stdio.h> 2 3 struct person 4 { 5 char* name; 6 void (*fp)(struct person* t); 7 char* gf; 8 9 }; 10 11 void hello(struct person* t); 12 13 int main() 14 { 15 struct person