您的位置:首页 > 其它

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

2005-04-20 20:28 609 查看
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: