//参考《C++反汇编与逆向分析技术揭秘》
//在反汇编下,没有引用这种数据类型。
//在C++中,引用和指针没有分别,只是引用是通过编译器实现寻址的,而指针需要手动寻址。
//C++为了简化指针操作,对指针的操作进行了封装,产生了引用类型。引用类型在C++中被描述为变量的别名。实际上,引用类型就是指针类型,只不过它用于存放地址的内存空间对使用者而言是隐藏的。
----- -----------------------------------------------------------------
-
#include<iostream>
-
using namespace std;
-
-
struct Test
-
{
-
Test():a(1),b(2)
-
{
-
}
-
int a;
-
int b;
-
};
-
int main()
-
{
-
Test t;
-
Test &x=t;
-
return 0;
-
}
----------------------------------------------------------------------
C++对应的汇编代码:
-
Test t;
-
00401038 lea ecx,[ebp-8]
-
0040103B call @ILT+10(Test::Test) (0040100f)
-
15: Test &x=t;
-
00401040 lea eax,[ebp-8]
-
00401043 mov dword ptr [ebp-0Ch],eax
-
16: return 0;
-
00401046 xor eax,eax
阅读(2000) | 评论(0) | 转发(0) |