>>384
それは嘘。というか誇大広告。
オブジェクトの寿命が1GC分伸びるだけ。それが深刻になる状況なら、
ファイナライザリストをそもそも作らず、必ずusing/disposeしろ、という設計思想が妥当。…(A)
或いは、ファイナライザリスト内だけ2GC世代分GCするとか、そういうフレームワーク設計も可能。…(B)
いずれにしても、.NETはそうしてない=それは大した問題ではない、とMSが判断している証拠。
といってもGCも進化しつつあるし、この辺もじきに整理されるのかもしれん。
C#8.0のusingはソースコードとしてはほぼ完成型だし、
> using var font1 = new Font("Arial", 10.0f);
> https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-statement
型によっては using var でしか宣言出来ない(=静的に確保出来ない=ローカルでしか持てない)ようにすれば、
上記(A)の思想を体現出来る。それが本筋かもね。
形式的にはVC++/CLIのpin_ptrと同じだから、実装する気になればMS的にはすぐだ。
https://docs.microsoft.com/ja-jp/cpp/extensions/pin-ptr-cpp-cli?view=vs-2019
制限はそこに書いてあるが、以下。
> 固定ポインターは、スタックの非静的ローカル変数としてのみ宣言できます。
> 固定ポインターは、以下として使用することはできません。
> 関数パラメーター
> 関数の戻り値の型
> クラスのメンバー
> キャストのターゲット型
「関数パラメータ」に使えない、と書いてあるが、これは言い方が悪くて、
「関数の仮引数の型には使えない」が正しく、実引数として渡す場合はキャストされるので普通に使える。
言葉だと分かりにくいが、
pin_ptr<double> ptr_d;
を void somefunc(double*) に渡すとdouble*に自動的にキャストされるので普通に使える。
これと同様の制限だと、「その関数を抜けた後も保持していて欲しい」オブジェクトには使えないが、
GDI+オブジェクトに関してはこの方向でもコーディングは可能のように思える。
C#, C♯, C#相談室 Part95
■ このスレッドは過去ログ倉庫に格納されています
385デフォルトの名無しさん (ワッチョイ 7f7b-JrBF)
2019/12/26(木) 19:21:56.18ID:2UlJm9YS0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【北区小学校火災】女性教師「電気ストーブ近くで洗濯物を乾かしていた」 失火とみて捜査 燃えた残骸に“繊維片”付着 [Ailuropoda melanoleuca★]
- 歌舞伎町の有名ホスト4人 アメリカ入国を拒否され強制送還 「君達の職業では純粋な旅行として認められないから帰れ」と言われる [muffin★]
- 「排外主義が日本全体で跋扈」村井嘉浩宮城県知事−外国ルーツの女子児童へのいじめで ★2 [蚤の市★]
- 【サッカーW杯】 観客285万人に到達 1試合平均は6万5000人 過去最多を大幅更新ペース [阿弥陀ヶ峰★]
- 坊主謝罪のAKB花田藍衣 「なんか中途半端」「ただのベリーショートじゃん」と冷ややかな声も [muffin★]
- 「電話鳴り止まない」AI予約サービス「オートリザーブ」に飲食店困惑 “勝手に”公式マーク表示も 専門家「AIうまく機能していない」 [ぐれ★]
- ハム専 ★6
- ハム専 ★7
- かもめせん2
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★163【メキシコ/カナダ/アメリカ】
- 【MLB】ツインズ vs ドジャース ★3
- とらせん
- 【悲報】反AI絵師、いつのまにか統一協会🏺の教育を受けていた模様…ウォーターマーク付けろとか全部カルトの儀式だった [784319933]
- 東京都北区の小学校火災、女性教員「電気ストーブで洗濯物を乾かしていた」 [377482965]
- 塩粘の靴ダサくねー?👊😅👊🏡👞
- 【高市悲報】メガソーラー屋さん「原野商法で買わされた土地を1坪500円で買い取ります」日本人「ありがてぇ😭」 [616817505]
- 【高市悲報】オマーン「悪いけど俺もイランと共同でホルムズ海峡の通航料取るわw」 [616817505]
- 蚊🦟「すまん、血液を3ミリグラムぐらいクレメンス!赤ちゃんの為やし痛くしないから!」