void * className::operator new( size_t size ){
//TODO:
}
void * operator new( size_t size ){
//TODO:
}
void *
类型,并且都有一个参数,为size_t
类型。在重载 new 或 new[] 时,无论是作为成员函数还是作为全局函数,它的第一个参数必须是 size_t 类型。size_t 表示的是要分配空间的大小,对于 new[] 的重载函数而言,size_t 则表示所需要分配的所有空间的总和。
当然,重载函数也可以有其他参数,但都必须有默认值,并且第一个参数的类型必须是 size_t。
void className::operator delete( void *ptr){
//TODO:
}
void operator delete( void *ptr){
//TODO:
}
C * c = new C; //分配内存空间 //TODO: delete c; //释放内存空间如果类中没有定义 new 和 delete 的重载函数,那么会自动调用内建的 new 和 delete 运算符。
本文链接:http://task.lmcjl.com/news/8678.html