1.1 引用

1、语法:类型名&引用名=某变量名 e.g. int &b=a;

  • 定义:引用则等价这个变量
  • 引用名的类型是:类型 &
  • 注意事项:
    • ①定义引用时,一定要将其初始化成引用某个变量
    • ②初始化后,它就一直引用该变量,不会再引用别的变量
    • ③引用只能引用变量,不能引用常量、表达式
    • ④引用一个引用是合法的 e.g. int &b=a;int &c=b//legal

2、引用实例:swap函数

  • c 指针:
void swap(int *a,int *b)
{
int tmp;
tmp=*a;
*a=*b;
*b=tmp;
}
swap(&n1,&n2);
  • c++ 引用:
void swap(int &a,int &b)
{
int tmp;
tmp=a;
a=b;
b=tmp;
}
swap(n1,n2);

3、引用可作为函数的返回值

int n=4;
int &f(){return n;}
f()=40;
cout<<n;//output 40

4、常引用

  • 语法:const 类型 & 引用名=某变量名 e.g.: const int &B=A;
  • 引用名的类型是 const 类型&
  • 不能通过常引用修改其引用的内容

5、引用与常引用的关系

  • T& 或者 T 可以初始化const T&的引用
  • const T和const T&不能初始化T& (除非强制类型转化)

    e.g.
        int A;
int &B=A;
const int &C=B;
const int &D=A;
int & E=C;//ILLEGAL
const int &F=C;

OOP 1.1 引用的更多相关文章

  1. Atitit.java c#这类编程语言的设计失败点attilax总结

    Atitit.java c#这类编程语言的设计失败点attilax总结 1. Npe1 2. Api粒度过小而又没有提供最常用模式1 3. checked exception(jeig n jyejy ...

  2. 高端面试必备:一个Java对象占用多大内存

    这个问题一般会出现在稍微高端一点的 Java 面试环节.要求面试者不仅对 Java 基础知识熟悉,更重要的是要了解内存模型. Java 对象模型 HotSpot JVM 使用名为 oops (Ordi ...

  3. 【PHP面向对象(OOP)编程入门教程】7.特殊的引用”$this“的使用

    现在我们知道了如何访问对象中的成员,是通过”对象->成员”的方式访问的,这是在对象的外部去访问对象中成员的形式, 那么如果我想在对象的内部,让对象里的方法访问本对象的属性, 或是对象中的方法去调 ...

  4. 跟着百度学PHP[4]OOP面对对象编程-5-内部引用$this

    $this就是对象内部代表这个对象的引用 可以调用被封装的方法或者属性! <?php class Person{ private $name; "; var $sex; functio ...

  5. 从OOP的角度看Golang

    资料来源 https://github.com/luciotato/golang-notes/blob/master/OOP.md?hmsr=toutiao.io&utm_medium=tou ...

  6. 玩转JavaScript OOP[2]——类的实现

    概述 当我们在谈论面向对象编程时,我们在谈论什么?我们首先谈论的是一些概念:对象.类.封装.继承.多态.对象和类是面向对象的基础,封装.继承和多态是面向对象编程的三大特性. JavaScript提供了 ...

  7. PHP面向对象(OOP)编程入门教程

    面向对象编程(OOP)是我们编程的一项基本技能,PHP5对OOP提供了良好的支持.如何使用OOP的思想来进行PHP的高级编程,对于提高 PHP编程能力和规划好Web开发构架都是非常有意义的.下面我们就 ...

  8. C++中 OOP相关的类型转换

    我们都知道,在C++中有很多类型转换.今天在这里,我们不讨论普通变量的类型转换(比如int转换成double等等).本文主要讨论面向对象相关的类型转换:向上转换和向下转换. 首先,我们定义一个基类Ba ...

  9. 面向对象的OOA、OOD、OOP

    OOA Object-Oriented Analysis:面向对象分析方法 是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题.OOA与结构化分析有较大的区别.OOA所强调的 ...

随机推荐

  1. 自定义loading效果

    结合Font Awesome字体图标自定义loading效果 Font Awesome字体图标地址:http://www.fontawesome.com.cn/faicons/ 使用javascrip ...

  2. 基于STM32F103ZET6 HC_SR501人体红外感应

    这是最后的实验现象,有人走过会一直输出有人,离开范围时则输出没人 开发板 PZ6086L ,HC_SR501模块 这是HC_SR501的示意图,,VCC和GND不再多做介绍,5V供电就行, OUT接口 ...

  3. c语言实验报告(四) 从键盘输入字符串a和字符串b,并在a串中的最小元素(不含结束符)后面插入字符串b.

    a串中最小元素后的字符被舍弃了. #include<stdio.h>#include<string.h>void main(){  int i,min=0;  char a[2 ...

  4. BZOJ 小Z的袜子 2038 国家集训队

    过程: 想了很久如何求组合数C(n,m),然而 YL 同学提醒了可以直接除以 2*n*(n - 1 ).改了之后果然对了,以为一定是一次性AC 了,然而 WA 了3次,尴尬 —— 神 TM,ZC 苟看 ...

  5. 20155210 潘滢昊 2016-2017-2 《Java程序设计》第3周学习总结

    20155210 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 class xxx{ }:定义类 运用: class Clothes{ String col ...

  6. 20155233 《Java程序设计》 第十三周课堂练习总结

    20155233 <Java程序设计>第十三周课堂练习总结 测试题目 测试1 在IDEA中对P145 MathTool.java 使用JUnit进行单元测试,测试用例不少于三个,要包含正常 ...

  7. 20145234黄斐《Java程序设计》实验一—Java开发环境的熟悉(Linux + Eclipse)

    实验步骤 由于实验时间比较紧张,这里只有最终结果的截图 (一)命令行下Java程序开发 (二)Eclipse下Java程序开发.调试 (三)练习 实现求正整数1-N之间所有质数的功能,并进行测试 实验 ...

  8. 思维水题 poj1852

    题目链接:http://poj.org/problem?id=1852 题意:木板长为n,    蚂蚁数量为k,    后面k个数,依次代表蚂蚁的位置,  当蚂蚁到达边界的时候会立马掉下,当两个蚂蚁相 ...

  9. easyui -validatebox 验证框加载

    问题: easyui验证狂框有时会验证输入字符的位数,或者验证有效字符组合 解决: 使用easyui的验证框,继承验证框,指定输入框为验证框即可 $(function(){ $.extend($.fn ...

  10. 创龙OMAPL138的NMI中断

    1. 不可屏蔽中断部分代码,注册中断函数,6748有几个NMI的引脚? void InterruptInit(void) { // 初始化 DSP 中断控制器 IntDSPINTCInit(); // ...