我想找一些讲 OOP程序在内存中的状况的文章。
主要是讲,对象,句柄这些东西,在内存中是什么样的数据结构,等等。
不知道那里有,在CSDN文档中心找了半天,也没有找到。
主要是讲,对象,句柄这些东西,在内存中是什么样的数据结构,等等。
不知道那里有,在CSDN文档中心找了半天,也没有找到。
解决方案 »
- 急急!鼠标钩子:得到鼠标当前位置窗口,并画上边框?请大家帮我看看问题
- 直接用Rectangle画矩形为何出现两个矩形了?
- 哪里有免费的MSDN下载!小弟不胜感激!!?
- 高手请进!!!!
- 从其它类访问CListView
- ~!·#¥%……—*()为什么我的程序在连续运行了几天以后自己退出了???(200分)
- 改变对话框的控件背景颜色,重载OnCtrColor时遇到的问题
- 怎样在硬盘上化出一块空间,只为我用(我的程序里)!别人不能用!?
- 如何在CListCtrl和CTreeCtrl之间拖动条目?
- 关于驱动程序
- 高手请进:我只是想完成一个简单的功能,就是将已经打开的IE EXPLORE用程序关掉!请问怎么实现
- CPropertySheet的问题,跪求各位给个答案
http://blog.csdn.net/jiangsheng/archive/2005/01/24/265488.aspx
http://dev.csdn.net/article/56/56202.shtm总的来说对象空间的大致组成实际上为:每个对象独立的部分:
虚函数表 + 成员变量 (可以看成一个结构体)
每个对象公有的部分:
成员函数实际上你可以考虑成第一个参数为结构体指针(对象的this指针)的普通函数
静态成员
C++语法:class A
{
public:
A () { x = 0; }
virtual add(int a, int b) { return a + b; }
void inc() { x ++; }
public:
int x;
}void main() { A a; a.add(1, 2); a.inc(); }基本上可以用如下 C 语法表示:struct A;
typedef int (*AddFunc)(struct A *pObj, int a, int b);struct A
{
AddFunc pAdd;
int x;
};int Add(struct A *pObj, int a, int b) { return a + b; }
int Iub(struct A *pObj) { pObj->x ++; }void main()
{
struct A a;
a.x = 0;
a.pAdd = Add;
a.pAdd(1,2);
a.Inc(&a);
}
前几天,就是在 csdn中看到一片文章,是专门讲,oop的一些概念在实现的时候在内存中的状态的,
由于当时是在处理另一个问题,所以就没有仔细看,现在再找,就找不到了,
那位弟兄,看到过?