这篇文章主要讲解了“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++引用怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。