gotoを恐れず使う兵共がfinallyや多重breakを語るスレ
■ このスレッドは過去ログ倉庫に格納されています
0203デフォルトの名無しさん
2008/02/09(土) 18:05:49はっきり言って呼び出し側で解放したほうがいい典型例。
呼ばれた側で解放したければ、この関数を呼んでから
解放するような関数を書けと言いたい。
> 558 名前:デフォルトの名無しさん [sage]: 2008/02/09(土) 14:35:39
> >>557
>
> そう?ファンクショントレース埋め込むときとか、以下のように
> エラーの場合、リソース開放して戻るときとか頻繁に使うなぁ。
> {
> A *a = NULL; B *b = NULL; C *c = NULL; int result = E_UNKNOWN;
>
> if ((a = A_new()) == NULL) {
> result = E_MEM; goto END_FUNC;
> }
> if ((b = B_new()) == NULL) {
> ...
>
> END_FUNC:
> if (a !=NULL && result != E_SUCCESS) {
> A_free(a);
> }
> ...
> }
■ このスレッドは過去ログ倉庫に格納されています