zoukankan      html  css  js  c++  java
  • 引用的本质

     引用共用同一个内存空间,只是一个别名。

    #include <iostream>
    using namespace std;
    
    int main(void)
    {
        int a=10;
        int &b=a;
        
        printf("&a:%d
    ",&a);
        printf("&b:%d
    ",&b);
        
        cout<<"hello..."<<endl;
        
        return 0;    
    }

    运行结果:

    下列结构体占多少字节?

    struct Teacher
    {
        char name[64];  //64字节
        int age;        //4字节  内存对其故8字节
        
        int &a;            //32位  4字节  64位  8字节
        int &b;            //32位  4字节 
    };
    
    int main(void)
    {
        printf("sizeof(Teacher):%d
    ",sizeof(Teacher));
        
        return 0;
    }

    运行结果:

    引用的本质:

    引用的本质:

    //3引用的本质
    void modifyA(int &a1)
    {
        a1 = 100;
    }
    
    void modifyA2(int *const a1)
    {
        *a1 = 200;  //实参的地址  去间接的修改实参的值
    }
    int main(void)
    {
        int a =10;
        modifyA(a); //指向这个函数调用的时候,我们程序员不需要取a得地址
        printf("a:%d 
    ",a);
        
        modifyA2(&a); //如果是指针  需要我们程序员手工的取实参的地址
        printf("a:%d 
    ",a);
        
        return 0;
    }

    运行结果:

    间接赋值:

     

  • 相关阅读:
    Iterable,Iterator和forEach
    集合的线程安全性
    Servlet生命周期
    JavaWeb应用的生命周期
    将博客搬至CSDN
    (五)新类库的构件
    Python input和print函数
    python----调试
    Excel决定吃什么
    MATLAB—地图
  • 原文地址:https://www.cnblogs.com/Liu-Jing/p/9643816.html
Copyright © 2011-2022 走看看