温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C++引用怎么实现

发布时间:2021-11-24 10:56:44 来源:亿速云 阅读:126 作者:iii 栏目:大数据

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

#include <iostream>
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++引用怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节
推荐阅读:
  1. C++ 引用
  2. C++引用的学习

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++
AI