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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
554
(2): デフォルトの名無しさん (アウアウウー Saa5-45BR) [sage] 2022/01/07(金) 19:02:16 ID:NAsC2Vwba(1/4) AAS
>>528
528(3): デフォルトの名無しさん (ワッチョイ 9901-45BR) [] 2022/01/07(金) 12:38:03 ID:6zNCaZbD0(1/12) AAS
>>509
>> 値型だと少なくとも「フールドを増やしたサブクラスの値を
>> ベースクラスの型の変数に入れる」なんて芸当は難しくなるね。

すみません。良く分かりません。クラスが値型のC++で
「フールドを増やしたサブクラスの値をベースクラスの型の変数に入れる」
なんて芸当、なんの問題もなくできると思うのですが

>>510
>>文字列が値型だとどうなるか考えてみれば?

文字列は内部実装は参照ですが、ユーザ見えは値型と同じだと思うんですが・・・
内部でどう実装されているのかは、そんなに説明するつもりもないし・・・
正直C++よく知らんので調べてみたけど、だから↓にあるような「問題」があるわけだよね
外部リンク[html]:www.cloverfield.co.jp

だから他の人が指摘しているstringのようなケースを無視するとしても、
値型で無理に継承を実現しようとすると、

(1) >>509
509(2): デフォルトの名無しさん (アウアウウー Saa5-45BR) [sage] 2022/01/06(木) 20:59:03 ID:snULIxlRa(1) AAS
>>487
問題設定自体を変えた方がいいかもね。
なぜ値型ではだめなのか?と。

値型だと少なくとも「フールドを増やしたサブクラスの値を
ベースクラスの型の変数に入れる」なんて芸当は難しくなるね。

というか、こういう禅問答みたいな話は(たぶん重要なんだろうとは思うけど)
初心者は後回しにした方が絶対にいいと思う。
に書いたように多態を諦めるか

(2) メモリ効率を犠牲にして、ベースクラスの変数のメモリ上のサイズは全ての派生クラスの
「共用体」のサイズとする。当然全ての型はinternalとして定義する必要もある。

こういうありがたくない制約が出来ちゃうでしょ
560
(1): デフォルトの名無しさん (アウアウウー Saa5-45BR) [sage] 2022/01/07(金) 19:46:03 ID:NAsC2Vwba(2/4) AAS
>>556
556(1): デフォルトの名無しさん (ワッチョイ 4124-iMNY) [sage] 2022/01/07(金) 19:39:06 ID:46kMC38t0(1/4) AAS
Unityの座標系って左下起点がデフォなの?
WindowsのGUIとのやり取りが凄い大変なんだけどなぜこういう仕様になってるのか教えてもらいたい
Unity知らんけど、印刷考えなきゃ最初から普通のデカルト座標採用してくれた方が
自然ではあるね。

むしろCRTなんていう前世紀の遺物の仕様をいまだに引きずってる方が「なぜ」のような気が
561
(1): デフォルトの名無しさん (アウアウウー Saa5-45BR) [sage] 2022/01/07(金) 19:47:36 ID:NAsC2Vwba(3/4) AAS
>>559
559(1): デフォルトの名無しさん (ワッチョイ 9901-45BR) [] 2022/01/07(金) 19:44:39 ID:6zNCaZbD0(10/12) AAS
>>554
>> ベースクラスの変数のメモリ上のサイズは

いや、ベースクラスの変数のメモリ上のサイズは
ベースクラスが持っている変数のメモリ上のサイズの合計
(パディング考慮)でしょうが・・・
だから、そうだとしてそれにフィールドを追加した派生クラスの値を入れられるんですかと
567: デフォルトの名無しさん (アウアウウー Saa5-45BR) [sage] 2022/01/07(金) 20:49:57 ID:NAsC2Vwba(4/4) AAS
>>564
564(1): デフォルトの名無しさん (ワッチョイ 9901-45BR) [] 2022/01/07(金) 19:54:17 ID:6zNCaZbD0(12/12) AAS
>>561
つまり『ポインタを無理やり追い出した弊害に』だよなぁ
いや何でそうなるw
意味が分からん。

問題設定は「なぜクラスの変数はポインタなのか?」
だからポインタを使わないとどうなるかを示しているわけで、
実際はC#はポインタを追放なんかしてないよ
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.038s