设为首页 加入收藏

TOP

effectiveC++(十)(四)
2010-12-26 23:05:16 】 浏览:19546
Tags:effectiveC
lse {
    // 自由链表为空,则分配一个大的内存块,
    // 可以容纳block_size个airplane对象
    airplane *newblock =
      static_cast<airplane*>(::operator new(block_size *
                                            sizeof(airplane)));

    // 将每个小内存块链接起来形成一个新的自由链表
    // 跳过第0个元素,因为它要被返回给operator new的调用者
    //
    for (int i = 1; i < block_size-1; ++i)
      newblock[i].next = &newblock[i+1];

    // 用空指针结束链表
    newblock[block_size-1].next = 0;

    // p 设为表的头部,headoffreelist指向的
    // 内存块紧跟其后
    p = newblock;
    headoffreelist = &newblock[1];
  }

  return p;
}

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

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目