[過去ログ] ふらっと C#,C♯,C#(初心者用) Part154 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
282
(1): デフォルトの名無しさん (スップ Sd73-2DeC) [sage] 2022/03/22(火) 19:49:04.13 ID:1zUmccnld(1/3) AAS
GC(マークアンドスイープ)+FinalizeとDisposeの相性が悪いだけだろ
C#に限った話じゃない
291
(3): デフォルトの名無しさん (スップ Sd73-2DeC) [sage] 2022/03/22(火) 21:41:21.16 ID:1zUmccnld(2/3) AAS
>>287
287(1): デフォルトの名無しさん (ワッチョイ 8bcf-noGs) [sage] 2022/03/22(火) 21:23:17.10 ID:0A7XAa2y0(1/2) AAS
C++/CLIならデストラクタが使えるから問題ないんだよな。捨てたのはもったいない。
ref class C{
~C(){} // Destructor
!C(){} // Finalizer
};
のコンパイル結果が
// C# DLL
class C:IDisposable{
Dispose(); //Destructor???
~C();//Finalizer
}
であることをご存知でない?
296: デフォルトの名無しさん (スップ Sd73-2DeC) [sage] 2022/03/22(火) 22:22:58.92 ID:1zUmccnld(3/3) AAS
>>288
288(1): デフォルトの名無しさん (ワッチョイ 8bbb-216p) [sage] 2022/03/22(火) 21:31:04.74 ID:kAgwAO/L0(8/9) AAS
それな
GCとかの仕組み上どうしても無理でしたってんなら納得逝くんだけどその辺知りたい
お前はメモリとかリソースの管理を他の言語でどうしてるかもっと勉強するべきだ

C/C++がユーザーに全部丸投げしてるのがいい加減辛いので言語側が管理すればいいんじゃね?ってのがGC。
GCの方式で主流なのは参照カウント方式とマークアンドスイープ方式。
参照カウント方式は循環参照(this._obj=this)があると回収されないから、
C#多少大きめのコストを支払ってでもマークアンドスイープ方式にした。

リソース解放のタイミングをコントロールしたけりゃIDisposable使え
解放漏れの保険でファイナライザ使え
外部リンク[html]:ufcpp.net

C#1.0のリリースが2002/02だから当時はそれでも充分だったんだろう
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.152s*