C++相談室 part156at TECHC++相談室 part156 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト2:デフォルトの名無しさん 21/05/19 11:23:50.45 b5zC4CMw.net 乙 3:デフォルトの名無しさん 21/05/19 11:31:17.57 FIiQfBQ7.net 乙でございます 4:デフォルトの名無しさん 21/05/19 11:33:27.40 psqzmlBB.net 乙python 5:デフォルトの名無しさん 21/05/19 11:36:23.16 FIiQfBQ7.net 前スレの>>989 > 可変個の参照の組 (vectorでいい) を関数 hoge に渡したいときって、hoge が vector< reference_wrapper<T> > を取るようにして > hoge({ref(A), ref(B), ref(C)}) > みたいに呼ぶか、可変引数テンプレートを使って hoge の中でパースするかっていうのが普通のやり方かな? なんですが、もしかして reference_wrapper って構築時に左辺値を渡したらそれの参照を保持してくれる? だとしたら hoge({A, B, C}) と呼べるしかなりスッキリしますね hoge 内でいちいち get() しないといけないのはダルいですが…… 6:デフォルトの名無しさん 21/05/19 12:17:48.45 5AVKLAl8.net 継承や委譲との付き合い方がよく分からなくなった あるクラスの機能を全部持っていてほしいが is-a 関係がないとかで継承関係にはないように思える場合ってどうすんの 例えば一辺の長さを表す変数やはみ出し判定メソッドを持つ「グリッド座標クラス」があったとして、今「オセロを解くクラス」を作りたいとき オセロを解くこと is a グリッド座標では全くないし継承するのは頓珍漢に思える 一方で「オセロを解くクラス」がグリッド座標のインスタンスを委譲として持っていたとして、盤の大きさとかはみ出し判定メソッドにわざわざ「グリッド座標クラス」のインスタンスを通してアクセスするのも果たして正しいだろうか 例えば盤面 a と盤面 b を同時に持ったりもするだろうが、a.size() とか b.size() は同じものを表すのでこのようにアクセスするのは可読性を損なう だから「オセロを解くクラス」は盤面の大きさとかはみ出し判定メソッドを自分のメンバとして持っていてほしいが、継承するべきようにも思えない 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch