#include <stddef.h>
#include <fstream.h>
ofstream out("framis.out");
class Framis
{
char c[10];
static unsigned char pool[];
static unsigned char alloc_map[];
public:
enum { PSIZE = 100 };
Framis() { out << "framis()\n"; };
~Framis() { out << "~framis()...\n"; };
void * operator new (size_t);
void operator delete(void *);
};
unsigned char Framis::pool[PSIZE * sizeof(Framis)];
unsigned char Framis::alloc_map[PSIZE] = { 0} ;
void * Framis::operator new(size_t sz)
{
for(int i = 0; i < PSIZE; i++)
if(!alloc_map[i])
{
out << "using block " << i << "...";
alloc_map[i] = 1;
return pool + (i * sizeof(Framis));
}
out << "out of memory" << endl;
return 0;
}
void Framis::operator delete(void * m)
{
if(!m)
return;
unsigned long block = (unsigned long)m
- (unsigned long)pool;
block /= sizeof(Framis);
out << "freeing block " << endl;
alloc_map[block] = 0;
}
int main()
{
Framis * f[Framis::PSIZE];
for (int i = 0; i < Framis::PSIZE; i++)
{
f[i] = new Framis;
}
new Framis;
delete f[10];
Framis * x = new Framis;
delete x;
for (int j = 0; j < Framis::PSIZE; j++)
{
delete f[j];
}
return 0;
}
分享到:
相关推荐
C++编程思想C++编程思想C++编程思想C++编程思想C++编程思想C++编程思想C++编程思想C++编程思想C++编程思想C++编程思想C++编程思想C++编程思想C++编程思想C++编程思想C++编程思想C++编程思想C++编程思想C++编程思想...
C++编程思想 目 录 译者序 前言 第1章 对象的演化 1 1.1 基本概念 1 1.1.1 对象:特性+行为 1 1.1.2 继承:类型关系 1 1.1.3 多态性 2 1.1.4 操作概念:OOP程序像什么 3 1.2 为什么C++会成功 3 1.2.1 较好的C 3 ...
《C++编程思想》是Bjarne Stroustrup编著的一本经典C++教程,它深入浅出地讲解了C++语言的核心概念和技术。课后习题是学习过程中的重要组成部分,它们帮助读者巩固理解、深化对编程知识的掌握。这份“C++编程思想...
《C++编程思想》是一本深受程序员喜爱的经典书籍,它深入浅出地介绍了C++这一强大的编程语言。这本书不仅涵盖了C++的基础语法,还详细探讨了面向对象编程、泛型编程以及设计模式等高级主题。以下是对这本书中关键...
《C++编程思想》是一本深受程序员喜爱的经典之作,它深入浅出地讲解了C++这一强大而复杂的编程语言。本书旨在帮助读者理解和掌握C++的核心概念,包括面向对象编程、泛型编程以及设计模式等关键主题。通过阅读这本书...
6. **智能指针**:为了解决原始指针可能导致的内存管理问题,C++引入了智能指针(如auto_ptr、unique_ptr、shared_ptr),它们自动管理对象的生命周期,防止内存泄漏。 7. **C++11及后续标准**:自C++11开始,标准...
Bruce Eckel 《Thinking in Java》(Java编程思想)作者。Eckel有20年专业编程经验,并自1986年起教育人们如何撰写面向对象程序,足迹遍及全球,成为一位知名的 C++教师和顾问,如今兼涉Java。他是C++标准委员会拥有...
《C++编程思想》是一本深受程序员喜爱的经典教程,由Bruce Eckel著,中文版的出版使得更多中国读者能够深入理解C++这门强大的编程语言。这本书不仅涵盖了C++的基础知识,还深入探讨了面向对象编程的概念和技术,是...
C++编程思想是深入理解C++这门语言的关键,它涵盖了C++的各个方面,包括基本语法、面向对象编程、模板元编程以及STL等。在C++编程中,理解其核心概念是提升编程效率和写出高效代码的基础。 首先,C++作为一门强类型...
《C++编程思想卷一练习题答案》是C++学习者的重要参考资料,它与C++领域的权威著作《C++编程思想》(第二版)紧密关联,旨在帮助读者深入理解和掌握书中的概念。这本书以理论结合实践的方式,通过一系列精心设计的...
C++编程思想(中文)12-21 C++编程思想(中文)12-21
7. **内存管理**:C++提供了对内存的直接控制,理解动态内存分配(new、delete)、内存对齐以及智能指针(shared_ptr、unique_ptr、weak_ptr)的使用,对于避免内存泄漏和提高程序效率至关重要。 通过深入阅读《C++...
c++编程项目:宾馆客房管理系统.zip c++编程项目:宾馆客房管理系统.zip c++编程项目:宾馆客房管理系统.zip c++编程项目:宾馆客房管理系统.zip c++编程项目:宾馆客房管理系统.zip c++编程项目:宾馆客房管理系统....
《C++编程思想》是一本深受程序员喜爱的经典之作,由Bruce Eckel撰写,全面而深入地探讨了C++编程语言的各个方面。这本书以其独特的视角和深入浅出的讲解,不仅适合初学者入门,也为经验丰富的程序员提供了宝贵的...
《C++编程思想》是一本...通过深入学习《C++编程思想》,读者不仅可以掌握C++的基础知识,还能理解如何运用这些知识去构建高效、可维护的系统。书中丰富的实例和清晰的解释将帮助读者逐步成长为一名精通C++的程序员。
《C++编程思想》是C++编程领域的一部经典著作,由Bjarne Stroustrup,也就是C++语言的设计者之一编写。这本书深入浅出地介绍了C++编程的核心概念、设计模式以及编程技巧,旨在帮助读者理解并掌握C++的精髓。 首先,...
c++编程项目:个人收支管理系统.zip c++编程项目:个人收支管理系统.zip c++编程项目:个人收支管理系统.zip c++编程项目:个人收支管理系统.zip c++编程项目:个人收支管理系统.zip c++编程项目:个人收支管理系统....
c++编程实战:个人收支管理系统.zip c++编程实战:个人收支管理系统.zip c++编程实战:个人收支管理系统.zip c++编程实战:个人收支管理系统.zip c++编程实战:个人收支管理系统.zip c++编程实战:个人收支管理系统....
《C++编程思想》是一本深受程序员喜爱的经典教程,它由Bjarne Stroustrup,C++语言的设计者和创造者编写。这本书分为上下两册,全面深入地探讨了C++语言的核心概念、设计模式以及编程实践。在这里,我们将详细讨论书...
《C++编程思想》是Bjarne Stroustrup所著的一部C++编程的经典之作,分为两卷,全面深入地探讨了C++语言的核心概念和技术。这本书不仅适合初学者,也对有经验的程序员有着极高的参考价值。下面将详细阐述书中涉及的...