mfc 引用

一、引用的概念
     引用(reference)是另一标识符的别名,可以说是C++的一种新的变量类型,是对C的重要扩充。当建立引用时,程序用另一个变量或对象(目标)的名字初始化它(即它代表了标识符的左值),此时,引用作为目标的别名而使用,对引用的改动实际就是对目标的改动。
     为建立引用,在编程时应先写上目标的类型,再写引用运算符“&",然后是引用的名字。引用能使用任何合法的变量名,它可以在该变量出现的任何地方出现,这称为独立引用。



int a=10;//定义变量a
int &b=a;//引用变量a
a=100;
b=20;//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=1;
    j=2;
    k=3;
    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=1;
    j=2;
    k=add(i,j); //i=i+j;
    printf("i=%d,j=%d,k=%d",i,j,k);
     
    getchar();
    return 0;
}
引用作函数返回值

int & add(int&a,int &b)
{
    a=a+b;
    return a;
}
int _tmain(int argc, _TCHAR* argv[])
{ 
    int i,j;
    i=1;
    j=2;
    int  &k=add(i,j); //i=i+j;
    k=888;
    printf("i=%d,j=%d,k=%d",i,j,k);
     
    getchar();
    return 0;
}

 代码

#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=1;
    j=2;
    int  &k=add(i,j); //i=i+j;
    k=888;
    printf("i=%d,j=%d,k=%d",i,j,k);
     
    getchar();
    return 0;
}

 

posted @ 2016-12-14 10:35  whzym111  阅读(463)  评论(0编辑  收藏  举报