函数返回出口唯一
时间:2014-05-09 07:35:24
收藏:0
阅读:257
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;
}
评论(0)