俺が思うC#の利点は、「無駄に覚えなければならない仕様」がほぼ無いことであり、
これは、C++が何でも出来る言語にしようとしている反面、
ほぼ使いもしない仕様を覚える必要がありすぎる状況になっているのと対極的ではある。
ただ、俺に言わせれば、usingも覚えるべき仕様ではない。
「GDI+リソースを持つクラスはスタック上にしか置けません」の仕様だと、何も覚えなくて済み、リーク周りの問題もない。
ただこれは完全に後出しで、MSが間違いを犯したわけではない。
彼等は単純に現状の仕様に乗るようにしてきただけであり、
未来の改訂で「スタック縛り&using廃止」になるのも十分ありうるし、俺はそれを望む。
ただMSはおそらくパフォーマンスよりも書きやすさに振ると思うので、微妙だとは思うが。
> 呼び出しの静的解析だけで、コンパイラ側が自動でusing付けるとか、現状の言語仕様でいけるもんなのかなあ。
要は
Brush xxxxx;
{
// ここで永続化されなければよい
}
なので、中身を辿りきれるかどうかに尽きる。
具体的には、ヒープ上のオブジェクトに保持されているとかが無ければいい。(といってもC#は全部ヒープだが)
解析に問題になるのは関数ポインタを動的に使われるケース(テーブルジャンプ等)だが、
そういうのはほぼやらないから現実的には大半の場合は解析可能だと思う。
> 行けそうなケースがあるのはわかるけど、すべてのケースで問題なく動作するというエビデンスはなんかある?
こんな物はそもそも必要ない。
解析可能なら自動でusing付けろ、解析無理(かつユーザーがusing付けてない)ならwarning出せ、のベストエフォートでいい。
現実的にこれで問題ない。
というかJavaScriptのJITが既にこれに近いことをやっていたはずで、
要は「この関数を抜けたら破棄されると静的に解析済みの変数は最初からスタックに配置する」で、
解析無理なら従来通りヒープに置いてGC、可能な物は纏めてスタックに置いてGC回避で高速化、みたいなことになってたはず。
だから.NETもそれをやればいいだけ。
C#, C♯, C#相談室 Part95
■ このスレッドは過去ログ倉庫に格納されています
401デフォルトの名無しさん (ワッチョイ 7f7b-JrBF)
2019/12/27(金) 11:11:26.51ID:AkdF/Ds50■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【北区小学校火災】女性教師「電気ストーブ近くで洗濯物を乾かしていた」 失火とみて捜査 燃えた残骸に“繊維片”付着 ★4 [Ailuropoda melanoleuca★]
- 【速報】北海道・旭川女子高校生殺人 内田梨瑚被告控訴しない方針 懲役27年確定へ [首都圏の虎★]
- 【W杯】元ブラジル代表ロナウド氏「日本には簡単に勝てる」決勝T1回戦で対戦可能性…避けたいのは「オランダ」 ★2 [首都圏の虎★]
- 「名古屋ほど適した場所ない」 広沢市長、副首都法案提出めぐり [首都圏の虎★]
- 仏でエボラ熱感染初確認 [首都圏の虎★]
- 若年層は「包丁キャンセル」 かつての「手抜き」は「効率化」へ [少考さん★]
- おりせん☆2
- 〓たかせん〓 2
- ハム専 ★7
- 【D専】Part.5
- 【MLB】ツインズ vs ドジャース ★3
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★163【メキシコ/カナダ/アメリカ】
- 【実況】博衣こよりのえちえちこども裁判クイズ🧪
- ジャップ円、メキシコペソにすら円安状態…「スナック菓子が1000円、小さなおにぎり500円以上。先進国とは思えない」 [667744927]
- 【高市悲報】石油枯渇まであと162日 [616817505]
- 玉木雄一郎に弄ばれて自殺した高橋茉莉(27)、後を追って母親も自殺。高市よりヤバいだろ😰 [485187932]
- 【画像】「紫雲寺家の子供たち」の新規描き下ろしイラストがエロすぎてヤバイ 興奮が止まらんぞ [933233141]
- 玉木雄一郎が公認を取り消し自殺した高橋茉莉(27)、後を追って母親も自殺😭