C++引用的本质剖析

来源:互联网 发布:cgi程序获取开发板数据 编辑:程序博客网 时间:2024/05/17 23:57

////  main.cpp//  CCC////  Created by mac on 2017/4/27.//  Copyright © 2017年 iosflow. All rights reserved.//#include <iostream>#include <stdlib.h>#include <string.h>#include <stdio.h>#include "array"using namespace std;struct Teacher{    char name[64];//64    int age;//8 //64位程序  4字节:32位程序        int &a;//8    int &b;//8};//////指针所指向的内存空间不能被修改//int printTeacher01(const Teacher *pT)//{////    pT -> age = 10;//    return 0;//};//////指针变量本身不能被修改//int printTeacher02(Teacher * const pT)//{//    pT -> age = 10;////    pT = NULL;//    return 0;//};//////指针所指向的内存空间不能被修改;指针变量本身不能被修改//int printTeacher03(const Teacher * const pT)//{////    pT -> age = 10;//    //    pT = NULL;//    printf("age:%d",pT -> age);//    return 0;//};void printT1(Teacher *pT){    cout<<pT->age<<endl;//    pT->age = 45;}void printT2(Teacher &pT){    cout<<pT.age<<endl;//    pT.age = 45;}void printT3(Teacher pT){    cout<<pT.age<<endl;    pT.age = 45;}int main(){    //    Teacher t1;//    t1.age = 35;//    //    printT1(&t1);//    printT2(t1);//pT是t1的别名//    printT3(t1);//pT是形参,t1 copy一份数据给pT // ----> pT = t1;//    //    printf("t1.age:%d \n",t1.age);            const int c1 = 10;    int  a = 10;    int &b  = a;    printf("&a:%d \n",&a);    printf("&b:%d \n",&b); //a和b 都是同一块内存空间    printf("sizeof(Teacher):%d \n",sizeof(Teacher));    system("pause");    return 1;}


0 0
原创粉丝点击