C++——????指针与引用型指针的区别

   在由清华大学出版社出版的李春葆主编的第4版《数据结构教程》中出现了一个新的类型——引用型指针(*&),在实现线性表的基本运算的程序中,有的是用指针类型作形参(如:int ListLength(LinkList * L);),有的是用引用型指针类型作形参(如:void InitList(LinkList * &L);)。

   那么,两者有什么区别吗?下面就用一个很简单的例子来说明下。

#include <iostream>
using namespace std;

void f(char * p)
{
	char *e = "China";
	p = e;
	cout << p << "  ";
}

void g(char * &p)
{
	char *e = "China";
	p = e;
	cout << p << "  ";
}

int main()
{
	char *p = "English";
	cout << "直接指针:";
	f(p);
	cout << p << endl;
	cout << "引用指针:";
	g(p);
	cout << p << endl;
	return 0;
}

结果如下:

C++——????指针与引用型指针的区别

由结果我们可以看出:

(1)指针类型作形参————该形参变量在函数中改变了对原来的实参变量没有任何影响

(2)引用型指针类型作形参————该形参变量在函数中改变了,原实参变量也会跟着改变

C++——????指针与引用型指针的区别,布布扣,bubuko.com

C++——????指针与引用型指针的区别

上一篇:python 扩展库安装 使用第三方镜像源


下一篇:(转) mac 下的eclipse 配置 python 2.7