メモリの確保と解放について。


Poo  2005-03-30 00:12:11  No: 56817

こん○○わ。件名の件で質問です。GlobalAlloc()で確保した領域を、
確保した領域外でGlobalFree()をしても良いものでしょうか?
*********************************************
void Func_A()
{
   char *lpBuf=NULL;
   Func_B(&lpBuf);
   GlobalFree(lpBuf);
}

void Func_B(char **Buf)
{
   if(Buf==NULL){
     *Buf=(char *)GlobalAlloc(GPTR, 100);
   }
}
*********************************************
こんな感じです。エラーなく動作するようですが、
こう言った書き方ってしてもいいんでしょうか?
アドレスだから大丈夫だとは思うんですけどね。
稚拙な質問で申し訳ないですが宜しくお願いします。


REE  2005-03-30 05:19:31  No: 56818

領域外という意味があいまいですが、
別の関数という意味でしたら、全く問題ないどころか、ごく普通の使い方です。


Blue  2005-03-30 06:04:33  No: 56819

本題とあんまり関係ないけど

>   if(Buf==NULL){
>     *Buf=(char *)GlobalAlloc(GPTR, 100);
>   }
条件式大丈夫ですか?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加