函数返回出口唯一
void fun(char *str)
{
char *a = new char[strlen(str)+1];
memcpy(a, str, strlen(str)+1);
if (...)
{
return;
}
else if (...)
{
return;
}
delete a;
return;
}
以上的函数会导致a可能得不到释放,可以采用do while的方式
void fun(char *str)
{
char *a = new char[strlen(str)+1];
memcpy(a, str, strlen(str)+1);
do
{
if (...)
{
break;
}
else if (...)
{
break;
}
}while(0)
delete a;
}
浙公网安备 33010602011771号