-
-
[讨论]c++ 的this 指针
-
发表于:
2008-11-21 14:58
5531
-
小弟学了一段时间的win SDK 编程,准备转入MFC 的学习.以前学过半学期的C++,但是一直没有怎么看,所以也忘了不少..
最近在学习MFC 的过程中发现了我以前的一个错误的认识,我一直以为C++的this指针是由 C++ 编译器,在编译的过程中
记录的,最后会在编译时会把相应的对象地址 编到代码中去.后来我做个实验:
我用MFC 新建了个工程,然后将
"C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC"(存放了MFC 的源码)
这个目录移到了其它地方.然后编译发现依然能通过,也就是说VC++根本不编译 这些MFC代码(
怪不得我每次在学习那些代码时,想加入MessageBox,始终都不能成功运行的原因了)
可是在MicroSoft给我们MFC 基类中用了很多 this指针,这个this是如何指向 “未来的对象”的呢。
我的意思用一句说就是:虚函数是通过 虚函数表,还实现调用 "未来的函数"的,那这个this指针不是通过 C++ 编译器记录的方式实现的,那是如何实现的呢???
望高人指点下!!!!!!!!!!!!!!!!!!!!
[课程]Linux pwn 探索篇!