[過去ログ] ふらっと C#,C♯,C#(初心者用) Part153 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
528(3): デフォルトの名無しさん (ワッチョイ 9901-45BR) [] 2022/01/07(金) 12:38:03 ID:6zNCaZbD0(1/12) AAS
>>509509(2): デフォルトの名無しさん (アウアウウー Saa5-45BR) [sage] 2022/01/06(木) 20:59:03 ID:snULIxlRa(1) AAS
>>487
問題設定自体を変えた方がいいかもね。
なぜ値型ではだめなのか?と。
値型だと少なくとも「フールドを増やしたサブクラスの値を
ベースクラスの型の変数に入れる」なんて芸当は難しくなるね。
というか、こういう禅問答みたいな話は(たぶん重要なんだろうとは思うけど)
初心者は後回しにした方が絶対にいいと思う。
>> 値型だと少なくとも「フールドを増やしたサブクラスの値を
>> ベースクラスの型の変数に入れる」なんて芸当は難しくなるね。
すみません。良く分かりません。クラスが値型のC++で
「フールドを増やしたサブクラスの値をベースクラスの型の変数に入れる」
なんて芸当、なんの問題もなくできると思うのですが
>>510
>>文字列が値型だとどうなるか考えてみれば?
文字列は内部実装は参照ですが、ユーザ見えは値型と同じだと思うんですが・・・
内部でどう実装されているのかは、そんなに説明するつもりもないし・・・
530(1): デフォルトの名無しさん (ワッチョイ 9901-45BR) [] 2022/01/07(金) 13:01:07 ID:6zNCaZbD0(2/12) AAS
返答ありがとうございます。
>>501>>逆に参照型じゃないならどうする?
c++ではクラスは参照型ではないですよね?
c#では構造体は参照型ではないですよね?
>>502>> C# クラス 参照型
>> でググれば一番上にお前が望んでいる答えがあるぞ
配列が参照型なのを考慮すると、高速化・・・・
いや、そのサイト見てると高速化よりも
ポインタを無理やり追い出した弊害に思えてきました・・
534: デフォルトの名無しさん (ワッチョイ 9901-45BR) [] 2022/01/07(金) 13:08:54 ID:6zNCaZbD0(3/12) AAS
>>529>>C++でもそうだけど
まことに申し訳ないけど、何を言いたいのか全く理解できません。
クラスが値型のC++でも通用する話を出してきても???と思うんですが
536: デフォルトの名無しさん (ワッチョイ 9901-45BR) [] 2022/01/07(金) 13:12:31 ID:6zNCaZbD0(4/12) AAS
>>532それだとクラスは値型でOKという話になっちゃいます。
537(1): デフォルトの名無しさん (ワッチョイ 9901-45BR) [] 2022/01/07(金) 13:17:33 ID:6zNCaZbD0(5/12) AAS
>>535ひょっとして私根本的な所を理解していないのかな?
class clsA { class clsB { class clsC { xxx }}}
みたいなクラスの内部にクラスを含んだクラスであっても
GCでガンガン割り当てられているメモリアドレスを
動かされると言いたいのでしょうか??
540(1): デフォルトの名無しさん (ワッチョイ 9901-45BR) [] 2022/01/07(金) 13:28:12 ID:6zNCaZbD0(6/12) AAS
>>538>> c#のクラスが参照型なのが許せない!!って言いたいのか?
質問を読んでそういう理解なのでしょうか?
質問を読まずにそういう理解なのでしょうか?
548(1): デフォルトの名無しさん (ワッチョイ 9901-45BR) [] 2022/01/07(金) 15:17:14 ID:6zNCaZbD0(7/12) AAS
>>546>> コピーのコストが違うから分けたという単純な話
確かにそんな感じですね。
クラスが値型のc++が遅くて
クラスが参照型のc#が早いなんて
全く聞いたことないのですが、
MSがトチ狂って高速化を優先(それ以外を犠牲)したようですね。
555(2): デフォルトの名無しさん (ワッチョイ 9901-45BR) [] 2022/01/07(金) 19:37:25 ID:6zNCaZbD0(8/12) AAS
>>546
>>Cだって配列のコピーは重いから引数で参照渡しされるだろう?
つ【std::vectorは参照ではない】
557: デフォルトの名無しさん (ワッチョイ 9901-45BR) [] 2022/01/07(金) 19:41:19 ID:6zNCaZbD0(9/12) AAS
>>554>> 正直C++よく知らんので調べてみたけど、だから↓にあるような「問題」があるわけだよね
菱形継承はいろいろと問題あるからね。菱形継承問題でググってみな
それにc#は多重継承できないからね・・・
559(1): デフォルトの名無しさん (ワッチョイ 9901-45BR) [] 2022/01/07(金) 19:44:39 ID:6zNCaZbD0(10/12) AAS
>>554
>> ベースクラスの変数のメモリ上のサイズは
いや、ベースクラスの変数のメモリ上のサイズは
ベースクラスが持っている変数のメモリ上のサイズの合計
(パディング考慮)でしょうが・・・
562(1): デフォルトの名無しさん (ワッチョイ 9901-45BR) [] 2022/01/07(金) 19:48:35 ID:6zNCaZbD0(11/12) AAS
>>558引数で参照渡しされるだろう?
と言ってるので『std::vectorを引数にする時は参照渡しではない』という意味で言ってるが
564(1): デフォルトの名無しさん (ワッチョイ 9901-45BR) [] 2022/01/07(金) 19:54:17 ID:6zNCaZbD0(12/12) AAS
>>561つまり『ポインタを無理やり追い出した弊害に』だよなぁ
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.033s