
他山之石
文章平均质量分 78
sharpdew
这个作者很懒,什么都没留下…
展开
-
C++成员函数指针的应用
C++中,成员指针是最为复杂的语法结构。但在事件驱动和多线程应用中被广泛用于调用回叫函数。在多线程应用中,每个线程都通过指向成员函数的指针来调用该函数。在这样的应用中,如果不用成员指针,编程是非常困难的。 刚遇到这种语法时也许会让你止步不前。但你会发现,使用恰当的类型定义之后,复杂的语法是可以简化的。本文引导你了解成员函数指针的声明,赋值和调用回叫函数。 成员函数指针的声明转载 2006-04-28 11:51:00 · 3581 阅读 · 0 评论 -
C++对象及多态实现探索之内存布局
普通类对象的内存布局首先我们从普通类对象的内存布局开始。C000为一个空类,定义如下:struct C000{}; 运行如下代码打印它的大小及对象中的内容。PRINT_SIZE_DETAIL(C000) 结果为:The size of C000 is 1The detail of C000 is cc 可以看到它的大小为1字节,这是一个占位符。我们可以看到它的值是0xcc。在debug模式下,这表转载 2006-05-12 14:55:00 · 1284 阅读 · 0 评论 -
C/C++中的内存对齐
[Intel Architecture 32 Manual] 字,双字,和四字在自然边界上不需要在内存中对齐。(对字,双字,和四字来说,自然边界分别是偶数地址,可以被4整除的地址,和可以被8整除的地址。) 无论如何,为了提高程序的性能,数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原因在于,为了访问未对齐的内存,处理器需要作两次内存访问;然而,对齐的内存访问仅需要一次访问。转载 2006-06-04 11:32:00 · 4344 阅读 · 2 评论