前スレ
C++相談室 part155
https://mevius.5ch.net/test/read.cgi/tech/1616555235/
探検
C++相談室 part156
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2021/05/19(水) 10:55:13.24ID:LZZifCH22デフォルトの名無しさん
2021/05/19(水) 11:23:50.45ID:b5zC4CMw 乙
2021/05/19(水) 11:31:17.57ID:FIiQfBQ7
乙でございます
4デフォルトの名無しさん
2021/05/19(水) 11:33:27.40ID:psqzmlBB 乙python
2021/05/19(水) 11:36:23.16ID:FIiQfBQ7
前スレの>>989
> 可変個の参照の組 (vectorでいい) を関数 hoge に渡したいときって、hoge が vector< reference_wrapper<T> > を取るようにして
> hoge({ref(A), ref(B), ref(C)})
> みたいに呼ぶか、可変引数テンプレートを使って hoge の中でパースするかっていうのが普通のやり方かな?
なんですが、もしかして reference_wrapper って構築時に左辺値を渡したらそれの参照を保持してくれる?
だとしたら
hoge({A, B, C})
と呼べるしかなりスッキリしますね
hoge 内でいちいち get() しないといけないのはダルいですが……
> 可変個の参照の組 (vectorでいい) を関数 hoge に渡したいときって、hoge が vector< reference_wrapper<T> > を取るようにして
> hoge({ref(A), ref(B), ref(C)})
> みたいに呼ぶか、可変引数テンプレートを使って hoge の中でパースするかっていうのが普通のやり方かな?
なんですが、もしかして reference_wrapper って構築時に左辺値を渡したらそれの参照を保持してくれる?
だとしたら
hoge({A, B, C})
と呼べるしかなりスッキリしますね
hoge 内でいちいち get() しないといけないのはダルいですが……
2021/05/19(水) 12:17:48.45ID:5AVKLAl8
継承や委譲との付き合い方がよく分からなくなった
あるクラスの機能を全部持っていてほしいが is-a 関係がないとかで継承関係にはないように思える場合ってどうすんの
例えば一辺の長さを表す変数やはみ出し判定メソッドを持つ「グリッド座標クラス」があったとして、今「オセロを解くクラス」を作りたいとき
オセロを解くこと is a グリッド座標では全くないし継承するのは頓珍漢に思える
一方で「オセロを解くクラス」がグリッド座標のインスタンスを委譲として持っていたとして、盤の大きさとかはみ出し判定メソッドにわざわざ「グリッド座標クラス」のインスタンスを通してアクセスするのも果たして正しいだろうか
例えば盤面 a と盤面 b を同時に持ったりもするだろうが、a.size() とか b.size() は同じものを表すのでこのようにアクセスするのは可読性を損なう
だから「オセロを解くクラス」は盤面の大きさとかはみ出し判定メソッドを自分のメンバとして持っていてほしいが、継承するべきようにも思えない
あるクラスの機能を全部持っていてほしいが is-a 関係がないとかで継承関係にはないように思える場合ってどうすんの
例えば一辺の長さを表す変数やはみ出し判定メソッドを持つ「グリッド座標クラス」があったとして、今「オセロを解くクラス」を作りたいとき
オセロを解くこと is a グリッド座標では全くないし継承するのは頓珍漢に思える
一方で「オセロを解くクラス」がグリッド座標のインスタンスを委譲として持っていたとして、盤の大きさとかはみ出し判定メソッドにわざわざ「グリッド座標クラス」のインスタンスを通してアクセスするのも果たして正しいだろうか
例えば盤面 a と盤面 b を同時に持ったりもするだろうが、a.size() とか b.size() は同じものを表すのでこのようにアクセスするのは可読性を損なう
だから「オセロを解くクラス」は盤面の大きさとかはみ出し判定メソッドを自分のメンバとして持っていてほしいが、継承するべきようにも思えない
2021/05/19(水) 12:37:51.61ID:mqAmVEur
複数の盤面持つんならメンバで持つ一択だと思うけど
「解くクラス」に外部からはみ出し判定アクセスするのもおかしな話だけど
描画の都合とかで外部からアクセスするのが欠かせないなら、インデックス受け取って盤面の参照返すメンバ関数でも用意すればいい
「解くクラス」に外部からはみ出し判定アクセスするのもおかしな話だけど
描画の都合とかで外部からアクセスするのが欠かせないなら、インデックス受け取って盤面の参照返すメンバ関数でも用意すればいい
2021/05/19(水) 12:44:45.80ID:mqAmVEur
あ、あるいは解くクラスが単に外部の盤面を参照する形でもいいかもね
2021/05/19(水) 12:46:25.42ID:5AVKLAl8
>>7
> 複数の盤面持つんならメンバで持つ一択だと思うけど
「オセロを解く」といった時点で盤の大きさ等決まるんだから、自分のメンバとして基本的な機能持っててほしいと思うんですが、偏った考え方ですかね
> 「解くクラス」に外部からはみ出し判定アクセスするのもおかしな話だけど
そう思います
> 複数の盤面持つんならメンバで持つ一択だと思うけど
「オセロを解く」といった時点で盤の大きさ等決まるんだから、自分のメンバとして基本的な機能持っててほしいと思うんですが、偏った考え方ですかね
> 「解くクラス」に外部からはみ出し判定アクセスするのもおかしな話だけど
そう思います
2021/05/19(水) 12:47:08.07ID:5AVKLAl8
>>8
それはインスタンスとして盤面を持つという意味ではなくですか?
それはインスタンスとして盤面を持つという意味ではなくですか?
2021/05/19(水) 12:51:42.12ID:NOe9g/vN
フロント部分とオセロを解くソルバー部分で持ち方変えるってのが普通
2021/05/19(水) 12:52:13.78ID:mqAmVEur
そう、内包しようとしない方が自然かもしれない
(読んだ範囲で勝手に考えてるだけだけど)
例えばその解くクラスってのがAI的に自動で解くクラスなら、じゃあその対戦相手に同じ(だがインスタンスは別)AIや
プレイヤーが参戦したらどうなるんだ?と考えると
盤面は独立してるほうが自然な気はする(個人の見解です
(読んだ範囲で勝手に考えてるだけだけど)
例えばその解くクラスってのがAI的に自動で解くクラスなら、じゃあその対戦相手に同じ(だがインスタンスは別)AIや
プレイヤーが参戦したらどうなるんだ?と考えると
盤面は独立してるほうが自然な気はする(個人の見解です
2021/05/19(水) 12:54:28.27ID:A2sERbZl
>>6
オセロを解くアルゴリズムとオセロをプレイするモデル次第なのでなんとも。
まあ、オセロを解くんだったら多数のオセロ盤を持つだろうから、グリッドクラスを派生させてオセロ盤クラスを作るだろうな。
人間がオセロをプレイするのを素直にモデル化してもいいけど、ゲーム機のオセロゲームをプレイするようにモデル化したほうが、オセロを解く側のミスや負担が減る。
オセロを解くアルゴリズムとオセロをプレイするモデル次第なのでなんとも。
まあ、オセロを解くんだったら多数のオセロ盤を持つだろうから、グリッドクラスを派生させてオセロ盤クラスを作るだろうな。
人間がオセロをプレイするのを素直にモデル化してもいいけど、ゲーム機のオセロゲームをプレイするようにモデル化したほうが、オセロを解く側のミスや負担が減る。
2021/05/19(水) 13:23:50.34ID:5AVKLAl8
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【ペアローン】都内20代の住宅ローン「夫婦で超長期」2割弱に急増 50年返済も [蚤の市★]
- 【労働力不足】43万人、外国人「育成就労」で補完 27年度から新制度 特定技能制度と合わせて123万人まで受け入れ ★4… [ぐれ★]
- 【芸能】TOKIO解散から半年… 長瀬智也の最新姿にびっくり! 芸能界から引退「年に一度着るか着ないかのスーツ」 [冬月記者★]
- 「別に事故らんかったらええんでしょ」大阪がワースト 自転車飲酒運転で免許停止が急増 [七波羅探題★]
- 真冬に“エアコン”がなく孤独な死…生活保護受給者40代シングルマザーの悲劇が行政に問いかける“教訓” ★4 [ぐれ★]
- 【エプスタイン文書】トランプ大統領が「少女愛を共有」との手紙、偽物と断定 [あずささん★]
- 来年度予算案、過去最大の122兆円へ😱・・・社会保障関係費、国債費、防衛費なども過去最大に😖 [441660812]
- 【悲報】X「一条工務店でだけは家建てるな」→ガチで糞だと話題にwwwwwwwwwwwwwwwwwwww [802034645]
- 維新「高市と選挙協力は不可能」いきなり連立崩壊かよ [389326466]
- ガリガリだから肉体改造したいけど食えないから詰んだ
- 愛国者さん「外国人労働者123万人余受け入れ…はぁ⁉ふざけんなよ‼減るどころか爆増じゃないか‼」 [289765331]
- 安倍昭恵「メリークリスマス!」晋素材を投下 [957955821]
