我正在編寫一個內存測試框架,在該框架中,我用自己的(例如malloc,realloc,free等)替換了動態內存分配函數。但是,系統需要靜態功能(我無法改變這一點)。將成員函數轉換爲C++中的靜態函數
我有一個MemoryTester類,它記錄內存調用,並且我想綁定它的內存分配函數的成員函數實現。這可能與C++?
編輯:
下面是一些代碼高亮我想要做的事:
typedef void*(allocateFuncPtr) (uint8_t);
typedef void (freeFuncPtr) (void*);
void setAllocateFunction(allocateFuncPtr) {...}
void setFreeFunction(freeFuncPtr) {...}
class MemoryTester
{
void *malloc(uint8_t size);
void free(void *ptr);
}
int main()
{
MemoryTester *tester = new MemoryTester();
//want to set allocate and free functions to those in tester
setAllocateFunction(tester->getAllocateFunction());
setFreeFunction(tester->getFreeFunction());
return 0;
}
您是否有特定的對象在綁定時調用這些成員函數? – fredoverflow 2011-05-16 20:35:54
我看不到你的currend代碼,你需要函數指針嗎?如果不看看std :: bind。 – Fox32 2011-05-16 20:36:03