C++のObject Slicingとオブジェクト指向言語の引数の評価戦略の話
TLで流れていた、オブジェクト指向での引数の云々の話をまとめました。
分量があるので、抜けているところがあったらお知らせください。
- hotwatermorning
- 5745
- 0
- 0
- 1
Fukui-san
@ftakao2007
メモリ上での挙動をある程度理解してないとこの辺の事ってそもそも議論する事が不可能だという事がなんとなくわかって来た。
2015-02-07 16:03:37
Fukui-san
@ftakao2007
「メモリに乗っかった時点」の時点のメモリの領域がヒープ領域なのか、スタック領域なのかで議論が別になるので。 ヒープ領域とスタック領域の使われ方を理解しないとそもそも議論できない。
2015-02-07 16:07:07
Fukui-san
@ftakao2007
Rubyの勉強が目的なのにJavaで説明しているページが多い。オブジェクト指向そのものの勉強はJavaが分かりやすいのかなぁ。
2015-02-07 17:17:59
Fukui-san
@ftakao2007
モダン言語の最基底クラスがObjectって意味で、Rubyは全てがオブジェクトって事なのかなぁ。色んな視点のアプローチがあって勉強してて面白い。
2015-02-07 17:36:33
Fukui-san
@ftakao2007
どんな処理も必ずヒープ領域とスタック領域を使うものが純粋なオブジェクト指向。スタック領域のみで処理する仕組みはオブジェクト指向ではない。 よってJavaは純粋なオブジェクト指向ではない。ただ、ヒープ領域を使わずスタック領域のみで処理できるのでパフォーマンス的に利点もある。
2015-02-07 17:50:36
Ryusei
@mandel59
実装できるかどうかだけで言えば別に実装は難しくなくて、ただMatzが実装しないって決めただけ。 なんでそう決めたかは↓に書いてある blade.nagaokaut.ac.jp/cgi-bin/scat.r…
2015-02-07 18:18:17
Ryusei
@mandel59
右辺値・左辺値とか、大学でプログラミングやってていてさえ、ちゃんと教わらない概念だけど、右辺値・左辺値ってめっちゃ重要な概念だと思うぞ
2015-02-07 18:20:59
Ryusei
@mandel59
いやまあ概念の名前を知らないってだけで、名前は知らなくても感覚的にはわかっているし、だから教えないでもプログラムとか書けちゃうんだけど
2015-02-07 18:23:12