zoukankan      html  css  js  c++  java
  • 引用的基础知识

     1 #include<iostream>
     2 using namespace std;
     3 //1 引用的概念
     4 //2 属于C++编译器对C的扩展,不能用C语言的语法去思考它
     5 void main1()
     6 {
     7     int  a = 10;
     8     //引用的语法:Type& name=var;
     9     int &b = a;//b是a的别名,可通过b操作a
    10     b = 100;//相当于把a修改成了100了
    11     printf("b:%d
    ", b);
    12     printf("a:%d
    ", a);
    13     a = 200;
    14     printf("b:%d
    ", b);
    15     printf("a:%d
    ", a);
    16     system("pause");
    17     return;
    18 }
    19 //3 普通引用必须要初始化
    20 void main2()
    21 {
    22     int a = 10;
    23     int &b = a;
    24     //int &c; 
    25     system("pause");
    26 }
    27 
    28 //基础类型的引用
    29 void myswap(int a, int b)
    30 {
    31     int c;
    32     c = a;
    33     a = b;
    34     b = c;
    35 }
    36 
    37 void myswap2(int *a, int *b)
    38 {
    39     int c;
    40     c = *a;
    41     *a = *b;
    42     *b = c;
    43 }
    44 
    45 //4 引用作为函数参数声明时不进行初始化
    46 void myswap3(int &a, int &b)
    47 {
    48     int c;
    49     c = a;
    50     a = b;
    51     b = c;
    52 }
    53 
    54 void main()
    55 {
    56     int x, y;
    57     x = 10;
    58     y = 20;
    59     myswap(x, y);
    60     printf("x:%d,y:%d
    ", x, y);
    61 
    62     myswap2(&x, &y);
    63     printf("x:%d,y:%d
    ", x, y);
    64 
    65     //a就是x的别名,b就是y的别名
    66     myswap3(x, y);
    67     printf("x:%d,y:%d
    ", x, y);
    68 
    69     system("pause");
    70 }
  • 相关阅读:
    单调队列 POJ 2823
    大组合数取mod lucas 定理
    多校4
    多校2
    2016多校1
    百度之星 初赛B续
    iot-web增加apis-namespace组件
    25.75k8s
    新项目增加gradlew
    vue图片点击放大预览v-viewer
  • 原文地址:https://www.cnblogs.com/hnzsb-vv1130/p/6606098.html
Copyright © 2011-2022 走看看