社区
进程/线程/DLL
帖子详情
OOP与内存管理的资料
wangunix
2005-06-30 02:59:08
我想找一些讲 OOP程序在内存中的状况的文章。
主要是讲,对象,句柄这些东西,在内存中是什么样的数据结构,等等。
不知道那里有,在CSDN文档中心找了半天,也没有找到。
...全文
151
7
打赏
收藏
OOP与内存管理的资料
我想找一些讲 OOP程序在内存中的状况的文章。 主要是讲,对象,句柄这些东西,在内存中是什么样的数据结构,等等。 不知道那里有,在CSDN文档中心找了半天,也没有找到。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wangunix
2005-07-04
打赏
举报
回复
Hi Guys
前几天,就是在 csdn中看到一片文章,是专门讲,oop的一些概念在实现的时候在内存中的状态的,
由于当时是在处理另一个问题,所以就没有仔细看,现在再找,就找不到了,
那位弟兄,看到过?
prgmBaggio
2005-07-03
打赏
举报
回复
mark
qrlvls
2005-07-01
打赏
举报
回复
句柄你可以把他看作一个整数,或者一个指针
总之你把他看作一个普通的数据类型就可以了
在应用层他表示某个对象的一个 ID 值
而在系统内核他则表示指向相应对象的指针
qrlvls
2005-07-01
打赏
举报
回复
也就是说,实际上 C++ 编译的思想可以用 C 语言来实现,只不过在语法上完成,而不需要在编码上完成,举例说明:
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);
}
qrlvls
2005-07-01
打赏
举报
回复
参考几篇文章:
http://blog.csdn.net/jiangsheng/archive/2005/01/24/265488.aspx
http://dev.csdn.net/article/56/56202.shtm
总的来说对象空间的大致组成实际上为:
每个对象独立的部分:
虚函数表 + 成员变量 (可以看成一个结构体)
每个对象公有的部分:
成员函数实际上你可以考虑成第一个参数为结构体指针(对象的this指针)的普通函数
静态成员
qrlvls
2005-07-01
打赏
举报
回复
CSDN 以前有一些比较基础的文章,你可以搜索一下,估计很难找到专门讲述关于该主题的资料
wangunix
2005-07-01
打赏
举报
回复
有人知道么?
我自己写的项目 地主 ,麻将 学习
资料
我自 写的一些项目,和我所学习的一些
资料
。感兴趣的朋友可以下载一下。
C++经典代码大全
一些经典代码C++代码,有助于提高,自己看看吧,又不要积分
C/C++面试宝典大全
C/C++面试宝典大全
VC++编程100例
VC++编程100例。包含了很多的实例,包括了很多方面,如界面编辑,文件操作等等。十分适合初学者。
C++学习笔记......
C++学习笔记......................................
进程/线程/DLL
15,467
社区成员
49,170
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章