设为首页 加入收藏

TOP

effectiveC++(十)(五)
2010-12-26 23:05:16 】 浏览:19549
Tags:effectiveC

如果你读了条款8,就会知道在operator new不能满足内存分配请求时,会执行一系列与new-handler函数和例外有关的例行性动作。上面的代码没有这些步骤,这是因为operator new管理的内存都是从::operator new分配来的。这意味着只有::operator new失败时,operator new才会失败。而如果::operator new失败,它会去执行new-handler的动作(可能最后以抛出异常结束),所以不需要airplane的operator new也去处理。换句话说,其实new-handler的动作都还在,你只是没看见,它隐藏在::operator new里。

有了operator new,下面要做的就是给出airplane的静态数据成员的定义:

airplane *airplane::headoffreelist;     
                                        
const int airplane::block_size = 512;   
                                        
没必要显式地将headoffreelist设置为空指针,因为静态成员的初始值都被缺省设为0。block_siz

首页 上一页 2 3 4 5 6 7 8 下一页 尾页 5/14/14
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇effectiveC++(十一) 下一篇effectiveC++(九)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目