以指针或reference为参数的C++函数定义与调用对照表
初学者不易建立清晰的指针和reference概念,总结这个表以供快速参考:
假设有对象定义:
MyObjectType obj1;
1. 值传递:
如果函数定义为:
void myFunction( MyObjectType obj);
函数调用:
myFunction(obj); //函数以外对象obj的值不会 改变
2. reference传递:
如果函数定义为:
void myFunction( MyObjectType &obj);
函数调用:
myFunction(obj); //函数以外对象obj的值会 改变
3. 指针传递:
如果函数定义为:
void myFunction( MyObjectType *obj);
函数调用:
myFunction(&obj); //需要dereference(&), 函数以外对象obj的值会 改变
要了解更多关于C++指针的概念请阅读C++基础教程指针篇
一雨断潇湘:
记住了,谢谢
14 October 2009, 9:48 pm