- 203 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:05:49 ]
- >>199で問題になってるコードを天災
はっきり言って呼び出し側で解放したほうがいい典型例。 呼ばれた側で解放したければ、この関数を呼んでから 解放するような関数を書けと言いたい。 > 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); > } > ... > }
|

|