函数参数问题!!
函数形参有指针func(int * arg);引用func(int &arg);和指针引用func(int * &a)。请问这三个有什么区别,好像都是传地址啊,都是在源对象上进行操作,而不是在函数的栈中重新复制一份!!各有什么好处!!
[解决办法]
func(int * arg);整形指针
func(int &arg);整型引用,引用即别名。
func(int *&arg);int * 引用。
[解决办法]
首先含义上讲:
指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名;
1. 指针是一个实体,而引用仅是个别名;
2. 引用使用时无需解引用(*),指针需要解引用;
3. 引用只能在定义时被初始化一次,之后不可变;指针可变;
上面func(int * arg);func(int &arg); 两个函数看起来似乎没什么不同,但是如果在函数实现部分,稍作改动,区别就大了
比如:
做arg++;两个意义就明显不一样了;