pgm13_07.cpp

来自「此文件为网络书籍数据结构的面向对象方法的源码」· C++ 代码 · 共 48 行

CPP
48
字号
////   This file contains the C++ code from Program 13.7 of//   "Data Structures and Algorithms//    with Object-Oriented Design Patterns in C++"//   by Bruno R. Preiss.////   Copyright (c) 1998 by Bruno R. Preiss, P.Eng.  All rights reserved.////   http://www.pads.uwaterloo.ca/Bruno.Preiss/books/opus4/programs/pgm13_07.cpp//class DoublyLinkedPool : public StoragePool{public:    enum Status { free, reserved };    struct Header    {	Status status : 1;	unsigned int length : bitsizeof (unsigned int) - 1U;    };    struct Block : public Header    {	enum { size = 16 };	struct Links	{	    Block* next;	    Block* prev;	};	union	{	    Links link;	    char userPart [size - sizeof (Header)];	};    };private:    unsigned int numberOfBlocks;    Block* pool;    Block& sentinel;    static void Unlink (Block&);    static void InsertAfter (Block&, Block&);public:    DoublyLinkedPool (size_t);    ~DoublyLinkedPool ();    void* Acquire (size_t);    void Release (void*);};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?