⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 new.c

📁 Object-Oriented Programming With ANSI-C这本书中的源代码!找了很久
💻 C
字号:
#include <assert.h>#include <stdlib.h>#include "new.h"#include "new.r"void * new (const void * _class, ...){	const struct Class * class = _class;	void * p = calloc(1, class -> size);	assert(p);	* (const struct Class **) p = class;	if (class -> ctor)	{	va_list ap;		va_start(ap, _class);		p = class -> ctor(p, & ap);		va_end(ap);	}	return p;}void delete (void * self){	const struct Class ** cp = self;	if (self && * cp && (* cp) -> dtor)		self = (* cp) -> dtor(self);	free(self);}void draw (const void * self){	const struct Class * const * cp = self;	assert(self && * cp && (* cp) -> draw);	(* cp) -> draw(self);}

⌨️ 快捷键说明

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