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;
}

结果如下:

由结果我们可以看出:

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

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

C++——????指针与引用型指针的区别,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。