質問するログイン新規登録

回答編集履歴

3

加筆

2021/08/31 02:28

投稿

episteme
episteme

スコア16612

answer CHANGED
@@ -8,4 +8,7 @@
8
8
 
9
9
  [追記] ClassAにしてみればTxtWriterは処理のための道具であり、
10
10
  そいつが唯一ひとつか/共有されてるかなんてどーでもいいこと。
11
- だから std::shared_ptr<TxtWriter> をメンバに持つのは(個人的には)好まない。
11
+ だから std::shared_ptr<TxtWriter> をメンバに持つのは(個人的には)好まない。
12
+
13
+ ※ 「TxtWriterはClassAの所有物だ」と考えるならその限りではないけどねー
14
+ 要は**設計者の意図**次第かと。

2

追記

2021/08/31 02:28

投稿

episteme
episteme

スコア16612

answer CHANGED
@@ -4,4 +4,8 @@
4
4
  void Process(const short* input, short* output, **TxtWriter* writer**);
5
5
 
6
6
  あるいは **void setWriter(TxtWriter* writer) { m_pTxtWriter = writer; }** を追加。
7
- ※ ClassAのコンストラクタ引数に加えてもいい
7
+ ※ ClassAのコンストラクタ引数に加えてもいい
8
+
9
+ [追記] ClassAにしてみればTxtWriterは処理のための道具であり、
10
+ そいつが唯一ひとつか/共有されてるかなんてどーでもいいこと。
11
+ だから std::shared_ptr<TxtWriter> をメンバに持つのは(個人的には)好まない。

1

微修正

2021/08/31 02:08

投稿

episteme
episteme

スコア16612

answer CHANGED
@@ -3,4 +3,5 @@
3
3
  //! この関数の中で(引数に与えた)writerを用いてテキストに書き込む
4
4
  void Process(const short* input, short* output, **TxtWriter* writer**);
5
5
 
6
- あるいは **void setWriter(TxtWriter* writer) { m_pTxtWriter = writer; }** を追加。
6
+ あるいは **void setWriter(TxtWriter* writer) { m_pTxtWriter = writer; }** を追加。
7
+ ※ ClassAのコンストラクタ引数に加えてもいい