我们都知道,申请的资源,使用完毕后要释放.但是这个释放动作,一定要注意. 举个例子,很多人动态分配的资源,在使用之后,往往直接调用了delete,而不管申请资源的时候用的是new还是new[]. 如下: #include <iostream> using namespace std; int main(){ int *p; p=new int[256]; //某些操作 delete p; //错误,和分配资源时的操作不匹配 } 但是有时候,我们感觉写的代码是没有问题的,然而却犯了一些很隐晦的错…