设为首页 加入收藏

TOP

effectiveC++(十)(八)
2010-12-26 23:05:16 】 浏览:19632
Tags:effectiveC
perator delete必须同时写,这样才不会出现不同的假设。如果写了一个自己的内存分配程序,就要同时写一个释放程序。(关于为什么要遵循这条规定的另一个理由,参见article on counting objects一文的the sidebar on placement章节)

因而,继续设计airplane类如下:

class airplane {        // 和前面的一样,只不过增加了一个
public:                 // operator delete的声明
  ...

  static void operator delete(void *deadobject,
                              size_t size);

};

// 传给operator delete的是一个内存块, 如果
// 其大小正确,就加到自由内存块链表的最前面
//
void airplane::operator delete(void *deadobject,
                               size_t size)
{
  if (deadobject == 0) return;         // 见条款 8

 

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

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目