關於DLL和不同版本的運行時,有一些我不清楚。如果我實例化一個DLL類,會發生這種內存問題嗎?
我知道,如果比如,在我的DLL我有這樣的功能:
void deletePointer(int *something)
{
delete something;
}
如果事情一直在我的main()函數中使用新的分配,這可能會導致一個問題。我不清楚的是以下內容:
說我有一個類中的DLL和我的實例它在主,然後嘗試做這一次,這仍然是一個問題?
例如: //在我的DLL
class Base
{
void deletePointer(int *something)
{
delete something;
}
}
//在EXE
int main()
{
Base * base = new Base();
int * myInt = new int(23);
base->deletePointer(myInt); //is this a problem?
}
基本上我是不明確的是,如果運行 「誰分配它,必須刪除它」規則適用於我實例化刪除指針的DLL類。
由於
顯然使用某種資源的管理將減輕您的跟蹤繁瑣的負擔:在EXE
對象的生命週期自己。 – 2011-01-10 09:25:27