引用的本質

 引用共用同一個內存空間,只是一個別名。ios

#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;
}

運行結果:spa

引用的本質:指針

引用的本質:code

 

//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;
}

運行結果:blog

間接賦值:內存

 

相關文章
相關標籤/搜索