成都网站建设设计

将想法与焦点和您一起共享

C++引用怎么实现

这篇文章主要讲解了“C++引用怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++引用怎么实现”吧!

成都网站建设、网站设计中从网站色彩、结构布局、栏目设置、关键词群组等细微处着手,突出企业的产品/服务/品牌,帮助企业锁定精准用户,提高在线咨询和转化,使成都网站营销成为有效果、有回报的无锡营销推广。创新互联公司专业成都网站建设十多年了,客户满意度97.8%,欢迎成都创新互联客户联系。

#include 
using namespace std;

int& get()
{
	static  int a = 10;
	a++;
	cout << "a is :" << a << endl;
	return a;
}

int* get1()
{
	static int a = 10;
	a++;
	cout << "get1 a:" << a << endl;
	return &a;
}


int main()
{

	
	get() = 20;
	int& c = get();   // 特别注意此处的接受者必须是一个引用, 否则后边的赋值操作根本没有修改函数内部的变量.
	/*
		如果用一个引用来接受函数返回值, 那么后边函数再被调用的时候, 
		这个接受者也是联动变化的.
		从汇编上看不出来区别, 
		
	*/
	c = 200;
	get();
	

	int* d = get1();
	cout << *d << endl;
	*d = 20;
	get1();
	/*
		通过这个测试会发现, 和上边的测试效果和接近,
		1 在函数外可以直接修改到函数内的变量.
		唯一的区别就是上边那个直接使用get()做左值, 而后边这个需要一个指针来接受, 
		从现象上来讲, 引用做左值的语法要简单于使用指针的操作.


		---------------------------------------------------------
		get() = 20;   | int* d = get1();		| int& c = get(); 
		              | *d = 20;				| c = 200;
					  |							| 特别注意那个接受者必须是一个应用,
		
		如上所示, 这3中的结果是等效的, 
		
	*/

	return 0;
}

感谢各位的阅读,以上就是“C++引用怎么实现”的内容了,经过本文的学习后,相信大家对C++引用怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


当前题目:C++引用怎么实现
文章起源:http://chengdu.cdxwcx.cn/article/joosjg.html