指针是指向变量的地址,b是a的指针,指向a的地址。只要修改*b的值,a的值也跟着改变。
void Demo::main()
{
int a = 2;
int *b = &a;
CCLOG("a : %d", a); // 2
CCLOG("*b : %d", *b); // 2
*b = 3;
CCLOG("a : %d", a); // 3
CCLOG("*b : %d", *b); // 3
}
引用是给a变量取了一个新名字b,b是a的引用,只要修改b的值,a的值也跟着改变。
void Demo::main()
{
int a = 2;
int &b = a;
int c = a;
CCLOG("a : %d", a); // 2
CCLOG("b : %d", b); // 2
CCLOG("c : %d", c); // 2
b = 3;
CCLOG("a : %d", a); // 3
CCLOG("b : %d", b); // 3
CCLOG("c : %d", c); // 2
}
函数传入普通参数,不会改变main中a,b的地址,也就是不会改变a,b的值。
void Demo::fun(int a,