test code.
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char* argv[])
{
int ref_t_1 = 10;
int& ref_t_2 = ref_t_1;
ref_t_2 = 20;
return 0;
}
vs自帶的反彙編工具顯示的對應彙編代碼。
可以看到:
- c++引用也是分配內存的,其內存中存放的是引用變量的實際地址值(相當於同一個指針,計爲ptr),對引用變量的操作是通過對類似*(ptr)的形式實現的。
- 對引用取地址操作,直接返回ptr的值即可。