C++ delete的使用
delete /delete[] 会根据变量地址的数据类型来释放内存,直接调用delete/delete[]不会有问题, 但如果将它放在函数里面如
ICLASS_API void __stdcall fastDeleteArrs(void* pvAddr){ delete[] pvAddr; }
然后主程序用fastDeleteArrs来释放各种类型的指针就非常危险很容易发生AV, 必须每种类型定义一个释放函数,比如:
ICLASS_API void __stdcall fastDeleteInts(int* pvAddr) { cout << "addr:" << pvAddr << endl; delete[] pvAddr; } ICLASS_API void __stdcall fastDeleteMat(PMat pvAddr) { cout << "addr:" << pvAddr << endl; delete[] pvAddr; }
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: Delphi 高效的通用对象池
- 下一篇: Delphi与JAVA互加解密AES算法