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 + -
显示快捷键?