void SDL_FreeRW(SDL_RWops* area)
area | 解放するSDL_RWops |
/* SDL_RWopsのcloseメソッドの実装 */
void close_my_rwops(SDL_RWops *rw)
{
if (rw != NULL) {
/* ここでリソースを解放する */
SDL_FreeRW(rw);
}
}
自分でSDL_RWopsの実装を提供するのでなければ, この関数を使う必要はない. 単に共通のデータ元の読込/書込を行うSDL_RWopsが必要なのであれば, SDL_RWFromFile()やSDL_RWFromMem()などのSDLに組み込まれた実装を使うべきである. そして, それらを使い終えたならば, SDL_RWopsのcloseメソッドを呼ぶ.
SDL_FreeRW()はSDL_AllocRW()が戻したポインタに対してのみ使える. この関数から戻ると, ポインタはすぐに使えなくなる. SDL_RWopsを生成したときに追加で確保されたメモリはSDL_FreeRW()では解放されない. closeメソッドでそのメモリを扱う責任は作成者にある.