1 先申请再使用,不要在申请内存之前使用
char *p ;
memcpy(p,"asdf",strlen("asdf"));//出错
return p;
2 申请了内存,检查是否申请成功
char *p = new char[size];
if(p == NULL)
{
}
3 做参数使用时,检查是否为空
void f(char *p)
{
if(p == NULL)
{
}
}
4 使用时,防止越界,常发生在数组的使用上
5 使用完之后必须释放
6 防止重复释放同一块内存
7 new申请的需delete释放,malloc申请的free释放,注意[]delete 和 delete使用的差别(数组和个体)
8 释放后记得把指针置为NULL,防止野指针
delete p;
p=NULL;