トップページ > プログラム > 2015年05月23日 > 3og+zCpJ

書き込み順位&時間帯一覧

60 位/176 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000011



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net

書き込みレス一覧

スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
330 :デフォルトの名無しさん[sage]:2015/05/23(土) 23:39:40.09 ID:3og+zCpJ
どのクラスでも同じ Context オブジェクトを参照し処理を行う場合に、
Context の受け取り方(参照の仕方)を考えると次の 2 つが思いつきました。

1. クラスに const Context* 型のメンバを用意し、適当な場所で SetCtx() でコンテキストをセットする。
 つまり、実際の処理を行うメソッドでは自クラスのメンバから Context にアクセスできる。
2. クラスメソッドの引数に const Context& を用意してメソッド内で Context にアクセスできるようにする

選択の基準としてそれぞれのメリット、デメリットを挙げてみました。
1. はデメリット無し?あえて言えば const Context* を保持しているクラスで破壊されるリスクがある?
 でもそれって shared_ptr で持たせればリスクではない?
2. はデメリットとしてメソッドにいちいち const Context& を用意しないといけない。
 メリットは Context にアクセスできる範囲が狭い。(1.は Context を使用しないメソッドでも
 Context にアクセスできる)

1. 2. どちらを選択するかの決め手が分かりません。ご教授頂けたらと思います。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。