C++ 引用做左值 【难点】
话不多说,上案例
追溯到oj上的具体题目:帮大家回忆一下嘻嘻
http://172.31.221.67/contest/141 这里放两位无名大侠的代码:
注意到,*(a+index)和a[index]是等价的写法。
下列一个拓展:
C++ &引用到底做了什么事?
给变量取别名,当int & a =b的时候,
a就是b的别名,
相当于,内存上产生了临时变量保存了b的值,a就是这个内存空间的访问路径,但是a不同于指针。
对a的操作会同步到b
且a不可以再设置为其他变量的别名。
当函数返回时引用时,返回的变量应该是全局的变量,或者生存范围内的变量例如main函数里面的a传给int &fun(a){ /对a操作后,/ return a;}。
测试:
更详细内容:https://blog.csdn.net/lee1054908698/article/details/7331553 、
https://zhuanlan.zhihu.com/p/97128024 c++ 左值引用与右值引用