回答編集履歴
3
加筆
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
追記
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
微修正
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のコンストラクタ引数に加えてもいい
|