[過去ログ] GCは失敗。メモリは自分で管理せよ! その2©2ch.net (720レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
177: デフォルトの名無しさん [sage] 2015/12/05(土) 15:06:58.28 ID:MOG2PmhH(1/4) AAS
昔C言語で数珠繋ぎの独自スコープとしてblock_enter/block_leaveというのを作って
{
block_handle h = block_enter(b)
object = block_create_object(h)
block_leave(h)
}
178: デフォルトの名無しさん [sage] 2015/12/05(土) 15:10:52.59 ID:MOG2PmhH(2/4) AAS
書き損じた
昔C言語で数珠繋ぎの独自スコープとしてblock_enter/block_leaveというのを作って
func(b){
block_handle h = block_enter(b)
object = block_create_object(h)
block_leave(b, h)
}
というので例外にも対応したリソースマネージャ作った
block_leave(b, h)せずにスコープ抜けても上位のblock_leaveで開放が保証されたり
block_leave(b, 0)で全開放とかそんなの
179: デフォルトの名無しさん [sage] 2015/12/05(土) 15:15:45.24 ID:MOG2PmhH(3/4) AAS
デメリットはblock_create〜で作成するものは全部ヒープに確保されること
結局C言語でここまで必要な案件てのが回ってこなくてあんま使ってないけどリーク予防法の参考程度に
182: デフォルトの名無しさん [sage] 2015/12/05(土) 15:30:53.84 ID:MOG2PmhH(4/4) AAS
>>180例外つってるのは具体的にはSEHの話
どっかで止めた時点のblock_leave(b, h)でそれまでの開放が保証されるってこと
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.044s