函数返回出口唯一

时间: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;

}

 

 

 

 

 

函数返回出口唯一,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!