📄 pgm13_14.cpp
字号:
//// This file contains the C++ code from Program 13.14 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_14.cpp//void BuddyPool::Release (void* arg){ Block& block = *reinterpret_cast<Block*> ( reinterpret_cast<Header*> (arg) - 1U); if (&block < pool || &block >= pool + numberOfBlocks) throw invalid_argument ("invalid pointer"); block.status = free; Block* ptr; for (ptr = █ ptr->k < m; ptr->k += 1) { Block& buddy = Buddy (*ptr); if (buddy.status == reserved || buddy.k != ptr->k) break; Unlink (buddy); if (&buddy < ptr) ptr = &buddy; } InsertAfter (sentinel [ptr->k], *ptr);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -