zoukankan      html  css  js  c++  java
  • 【C++札记】引用

    介绍

    引用是C++中特有的语法,在C语言中不存在。

    本质上引用(reference)就是指针,在类型名后面加上一个&号就是引用类型。

    1.指针与引用的定义进行比较

    指针定义:                                                  引用定义:
    
    int  a = 123;                                               int a =123;
    
    int* p = &a;                                                int& r = a;
    
    称作:p指向了变量a                                          称作:r是变量a的引用或r引用了目标对象a

    2.引用可以看作是目标对象的一个别名,对引用的操作其实都是对目标对象的操作,引用不开辟空间。

    3.引用必须在定义时初始化,也就是一创建就要与目标对象绑定,一经绑定不可修改。

       int  a = 124;
    
       int &r;  //语法错,必须初始化

    4.可对引用再次引用,多次引用相当于变量有多个别名。

        int a = 10;
        int &aa = a;
        int &aaa = aa;

    引用作为函数参数

    #include <stdio.h>
    
    int add(int& a, int& b)
    {
    	return a + b; 
    }
    
    int main()
    {
    	int a = 1, b = 2;
    	printf("%d
    ", add(a, b));
    	return 1;
    }

    引用作为函数的返回值

    #include <stdio.h>
    #include <string.h>
    
    struct Student
    {
    	char name[32];
    	int  age;
    };
    
    Student stu;
    
    Student& fun()
    {
    	strcpy(stu.name, "aaa");
    	stu.age = 30;
    	return stu;
    }
    
    int main()
    {
    	Student& stu = fun();
    	printf("name = %s, age = %d
    ", stu.name, stu.age);
    	return 1;
    }


    欢迎加群交流:C/C++开发交流

  • 相关阅读:
    多线程常见面试题
    Redis常见面试题总结
    ehcache缓存技术的特性
    sar 命令详解
    面试题
    BOOTPROTO=[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议)
    课后习题-10
    ulimit 命令详解
    课后习题-9
    netstat 命令详解
  • 原文地址:https://www.cnblogs.com/woniu201/p/11694623.html
Copyright © 2011-2022 走看看