posts - 3,  comments - 0,  trackbacks - 0
使用宏比使用函数,可以获得更高的效率。 哪些地方会使用这种技巧? 调用次数很多的地方,通过减少函数调用,来提升性能?

使用inline,经过编译之后也没有函数调用? 这个和宏有什么区别? 宏是编译之前的预处理,那么inline是什么处理呢?

加上封装后的布局(Layout Costs for Adding Encapsulation)
一般情况下不会产生负担。
data member直接含在class object之中,就像C struct的情况一样。
而member function虽然含在class声明之内,却不出现在object之中,每一个non-inline member function只会诞生一个函数实体
而inline function则会在其每一个使用者(模块)身上产生一个函数实体。

virtual function 机制:用以支持一个有效率的"执行期绑定"。 (runtime binding)
virtual base class 机制: 实现多次出现在继承体系中的base class,有一个单一而被共享的实体。

还有一些多重继承下的额外负担
一般而言,并没有天生的理由说C++程序一定比C兄弟庞大或迟缓

posted on 2009-09-02 23:54 thinke365 阅读(88) 评论(0)  编辑 收藏 引用 所属分类: object model

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理