new.cpp

来自「c库的部分源代码 用惯了操作系统提供的内存api,你是否了解系统的运行机制,这是」· C++ 代码 · 共 33 行

CPP
33
字号
/****************************************************************
	Copyright 1994 Software Development Systems, Inc.
	All rights reserved

	C++ Runtime Support -- ::operator new
****************************************************************/
#include <stdlib.h>
#include <new.h>

typedef void (*pvf)(void);

// set by set_new_handler
static pvf _new_handler;

// set new new_handler
pvf set_new_handler(pvf p)
{
    pvf old = _new_handler;
    _new_handler = p;
    return old;
}

// default version of operator new
void *operator new(size_t size)
{
    void *p;
    if (size == 0) size = 1;    // return unique value for new(0)
    while ((p = malloc(size)) == 0 && _new_handler != 0)
	_new_handler();
    return p;
}

⌨️ 快捷键说明

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