引用的用法
#include <iostream>
using namespace std;
void main91()
{
int a = 10;
int &b = a;
b = 100;
printf("b:%d \n", b);
printf("a:%d \n", a);
a = 200;
printf("b:%d \n", b);
printf("a:%d \n", a);
cout<<"hello..."<<endl;
system("pause");
return ;
}
void main92()
{
int a = 10;
int &b = a;
system("pause");
}
void myswap(int a, int b)
{
int c = 0;
c = a;
a = b;
b = c;
}
void myswap02(int *a, int *b)
{
int c = 0;
c = *a;
*a = *b;
*b = c;
}
void myswap03(int &a, int &b)
{
int c = 0;
c = a;
a = b;
b = c;
}
void main93()
{
int x, y ;
x = 10;
y = 20;
myswap(x, y);
printf("x:%d , y:%d \n", x, y);
myswap02(&x, &y);
printf("x:%d , y:%d \n", x, y);
myswap03(x, y);
printf("x:%d , y:%d \n", x, y);
system("pause");
}
struct Teacher
{
char name[64];
int age ;
};
void printfT(Teacher *pT)
{
cout<<pT->age<<endl;
}
void printfT2(Teacher &pT)
{
pT.age = 33;
}
void printfT3(Teacher pT)
{
cout<<pT.age<<endl;
pT.age = 45;
}
void main()
{
Teacher t1;
t1.age = 35;
printfT(&t1);
printfT2(t1);
printf("t1.age:%d \n", t1.age);
printfT3(t1) ;
printf("t1.age:%d \n", t1.age);
cout<<"hello..."<<endl;
system("pause");
return ;
}
引用本质的思考
#include <iostream>
using namespace std;
void main01()
{
const int c1 = 10;
int a = 10;
int &b = a;
printf("&a:%d \n", &a);
printf("&b:%d \n", &b);
cout<<"hello..."<<endl;
system("pause");
return ;
}
struct Teacher
{
char name[64];
int age;
int &a;
int &b;
};
void modifyA(int &a1)
{
a1 = 100;
}
void modifyA2(int * const a1)
{
*a1 = 200;
}
void main1001()
{
int a = 10;
modifyA(a);
printf("a:%d \n", a);
a = 10;
modifyA2(&a);
printf("a:%d \n", a);
printf("sizeof(Teacher):%d \n", sizeof(Teacher));
system("pause");
}
void modifyA3(int *p)
{
*p = 200;
}
void main()
{
int a = 10;
int *p = NULL;
p = &a;
*p = 100;
{
*p = 200;
}
modifyA3(&a);
}
常量引用
#include <iostream>
using namespace std;
void main1301()
{
int a = 10;
int &b = a;
printf("b:%d \n", b);
int x = 20;
const int &y = x;
{
int x1 = 30;
const int &y1 = x1;
}
{
const int a = 40;
int &m = 41;
const int &m = 43;
}
cout<<"hello..."<<endl;
system("pause");
return ;
}
struct Teacher
{
char name[64];
int age ;
};
void printTeacher(const Teacher &myt)
{
printf("myt.age:%d \n", myt.age);
}
void main()
{
Teacher t1;
t1.age = 36;
printTeacher(t1);
cout<<"hello..."<<endl;
system("pause");
return ;
}