內存管理操作符重載

內存管理操作符在C++爲 new new [] delete delete[]

new的重載方式有兩種

void *type::operator new(size_t size)

{

    //

}

 

void *operator new (size_t size)

{

    //

}

可以看到兩種重載返回的都是void*類型。本例中,兩種重載方式都需要一個size_t類型的參數。

type *ptr = new type;

這個時候用的重載的函數,如果函數沒有重載則調用的是系統自己的函數。

 

delete也有兩種重載的方式:

void type::operator delete(void *ptr)

{

    //

}

void operator delete(void *ptr)

{

    //

}

delete的第一個參必須是void*,用來指示要釋放的空間。

type *t = new type;4

 

delete t;

用的重載的方法,而如果沒有重載的話,用的就是系統的delete。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章