一、引用的概念
引用(reference)是另一标识符的别名,可以说是C++的一种新的变量类型,是对C的重要扩充。当建立引用时,程序用另一个变量或对象(目标)的名字初始化它(即它代表了标识符的左值),此时,引用作为目标的别名而使用,对引用的改动实际就是对目标的改动。
为建立引用,在编程时应先写上目标的类型,再写引用运算符“&",然后是引用的名字。引用能使用任何合法的变量名,它可以在该变量出现的任何地方出现,这称为独立引用。 int a=;//定义变量a
int &b=a;//引用变量a
a=;
b=;//a=20; 如左图 声明b是对整数a的引用, 并且使其初始化为变量a的一个别名。一旦b同a的内存对象发生了联系,就不能改变,而且,对b的访问就是对a的访问,对a的访问也就是对b的访问。变量a和引用b共用同一内存空间 注意:类型后跟&是引用,其它地方则是取地址:
int *p=&i;//取i的地址
printf("%d",&i);//非引用,取i的地址 二、引用的使用
引用变量
int i;
int &j=i;
int &k=i;
i=;
j=;
k=;
printf("i=%d,j=%d,k=%d",i,j,k); 引用作函数参数
int add(int&a,int &b)
{
a=a+b;
return a;
}
int _tmain(int argc, _TCHAR* argv[])
{
int i,j,k;
i=;
j=;
k=add(i,j); //i=i+j;
printf("i=%d,j=%d,k=%d",i,j,k); getchar();
return ;
}
引用作函数返回值 int & add(int&a,int &b)
{
a=a+b;
return a;
}
int _tmain(int argc, _TCHAR* argv[])
{
int i,j;
i=;
j=;
int &k=add(i,j); //i=i+j;
k=;
printf("i=%d,j=%d,k=%d",i,j,k); getchar();
return ;
}

代码

#include "stdafx.h"
#include <malloc.h>
int & add(int&a,int &b)
{
a=a+b;
return a;
}
int _tmain(int argc, _TCHAR* argv[])
{
int i,j;
i=;
j=;
int &k=add(i,j); //i=i+j;
k=;
printf("i=%d,j=%d,k=%d",i,j,k); getchar();
return ;
}

mfc 引用的更多相关文章

  1. 在非MFC程序中引用CString

    CString在当今软件设计界里还是小有名气的,说它是MFC中使用的最多的类一点也不过,然而在使用sdk编windows程序的时候,确不能利用CString类,只能用sdk的运行时库,比如strlen ...

  2. 做MFC的时候引用了头文件但VC还是报missing storage-class or type specifiers

    我在客户端clg.h头文件中引用了头文件“ClientSocket.h”,然后在客户端clg.h中的类中声明了类CClientSocket的对象,可是编译报错:d:\vc++\客户端\客户端dlg.h ...

  3. mfc 类对象的引用

    类对象引用 自写复制构造函数 一. 类对象引用 在第4课的时候,我们已经讨论过C++引用特性.类变量的引用呢,实际上也是类似的. Tdate d1; Tdate &d2=d1; 二.自写复制构 ...

  4. VC++/MFC 最常用宏和指令

    1.#include指令  包含指定的文件,最基本的最熟悉的指令,编程中不得不用,包含库文件用双尖括号,包含自定义头文件用双引号. 2.#define指令   预定义,通常用它来定义常量(包括无参量与 ...

  5. 魔改——MFC SDI 支持 内嵌 EXCEL OLE

    ==================================声明================================== 本文版权归作者所有 未经作者授权 请勿转载 保留法律追究的 ...

  6. 问题解决——MFC Ribbon 响应函数 错乱 执行其他函数

    ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...

  7. 问题解决——MFC resource.h 无法添加、提交到SVN

    =================================版权声明================================= 版权声明:原创文章 禁止转载  请通过右侧公告中的“联系邮 ...

  8. 问题解决——MFC error RC2170: bitmap file res\XXXXXXX.png is not in 3.00 format

    =================================版权声明================================= 版权声明:原创文章 谢绝转载  请通过右侧公告中的“联系邮 ...

  9. 数组类型与sizeof与指针的引用

    以char类型为例: char a[100];     //a类型为char[100]    &a类型为 char (*)[100]    *a类型为char char *p = a;     ...

随机推荐

  1. JAVA使用POI如何导出百万级别数据

    用过POI的人都知道,在POI以前的版本中并不支持大数据量的处理,如果数据量过多还会常报OOM错误,这时候调整JVM的配置参数也不是一个好对策(注:jdk在32位系统中支持的内存不能超过2个G,而在6 ...

  2. iOS设计模式 - 代理

    iOS设计模式 - 代理 原理图 说明 1. 代理模式大家都用过,但用抽象基类NSProxy实现代理估计鲜有人用 2. 本人用NSProxy实现了代理模式,对于理解消息转发机制有点帮助 源码 http ...

  3. [翻译] DCPathButton

    DCPathButton https://github.com/Tangdixi/DCPathButton DCPathButton 2.0 is a menu button for iOS. Des ...

  4. UINavigationController便于pop的category

    UINavigationController便于pop的category 效果图: 这个category是为了方便UINavigationController用于跳转到指定的控制器当中,用于跳级,如果 ...

  5. C盘下出现msdia80.dll文件

    删除方法 https://jingyan.baidu.com/article/63acb44acef55661fdc17e56.html 或者 https://www.cnblogs.com/ggll ...

  6. ZT 内地20年经典电视剧大全

    内地20年经典电视剧大全     片尾曲:<故事就是故事> 演唱:戴娆 我听爷爷讲了一个故事 故事里的事是那昨天的事 故事里有好人也有坏人 故事里有好事也有坏事 故事里有多少是是非非 故事 ...

  7. if a in range(len(lst)): print(a,lst[a]) #获取索引和对应元素, 背下来~~

    经典的"获取元素的索引和元素", 背下来! if a in range(len(lst)): print(a, lst[a])

  8. 寒假短期学习计划 - C++

    寒假短期学习计划 - C++ 一.所选课程 && 相关 0.选以下课的理由: 选课理由0: 只是短期的计划,先选些短视频感受:之后再视情况选其他课: 选课理由1: 难度低,以前自学过一 ...

  9. Java8新特性 -- Lambda基础语法

    Lambda 表达式的基础语法: Java8引入了一个新的操作符 “->”  该操作符称为箭头操作符或Lambda操作符, 该操作符将Lambda表达式拆分为两部分: 左侧: Lambda表达式 ...

  10. ARC与Toll-Free Bridging

    arc模块与mrc模块的沟通. 相当于程序的混编处理. Toll-Free Briding保证了在程序中,可以方便和谐的使用Core Foundation类型的对象和Objective-C类型的对象. ...