『EXP2』关于在函数内部分配内存时需要注意的问题

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

char* buff;

int lenth = INTVAL;

NewFunc( ?, INTVAL ); // 这里应该怎么写?

// NewFunc()应该如何声明?

先说NewFunc( )函数的声明和定义,声明如下:

int NewFunc( char** Buff, int BuffSize );

定义如下: int NewFunc( char** Buff, int BuffSize )

{

char* tempBuff = NULL; // 如果直接 *Buff = new char[BuffSize];,

// 如果申请失败还须将*Buff设为NULL

try{

tempBuff = new char[BuffSize];

}

catch(...){

return -1;

}

*Buff = tempBuff; // 内存申请成功后再将内存交给外部

return 0;

}

int NewFunc( char** Buff, int BuffSize )

{

char* tempBuff = NULL; // 如果直接 *Buff = new char[BuffSize];,

// 如果申请失败还须将*Buff设为NULL

try{

tempBuff = new char[BuffSize];

}

catch(...){

return -1;

}

*Buff = tempBuff; // 内存申请成功后再将内存交给外部

return 0;

}

参数Buff是二级指针

调用NewFunc( )的方法如下:

NewFunc( *buff, INTVAL);

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有