引用的本质

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

#include <iostream>
using namespace std;

int main(void)
{
    int a=10;
    int &b=a;
    
    printf("&a:%d\n",&a);
    printf("&b:%d\n",&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\n",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 \n",a);
    
    modifyA2(&a); //如果是指针  需要我们程序员手工的取实参的地址
    printf("a:%d \n",a);
    
    return 0;
}

运行结果:

引用的本质

间接赋值:

 引用的本质

引用的本质

 

相关文章:

  • 2021-11-11
  • 2022-12-23
  • 2021-11-08
  • 2021-06-29
  • 2021-08-21
  • 2021-10-01
  • 2022-02-25
  • 2022-12-23
猜你喜欢
  • 2021-09-03
  • 2022-02-08
  • 2021-07-04
  • 2021-08-10
相关资源
相似解决方案