- 1 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 11:46:21 ]
- スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。
過去ログ スレを勃てるまでもないC/C++の質問はここで pc11.2ch.net/test/read.cgi/tech/1167476845/ スレを勃てるまでもないC/C++の質問はここで 2 pc11.2ch.net/test/read.cgi/tech/1178503366/ スレを勃てるまでもないC/C++の質問はここで 3 pc11.2ch.net/test/read.cgi/tech/1187521676/ スレを勃てるまでもないC/C++の質問はここで 4 pc11.2ch.net/test/read.cgi/tech/1221633708/ スレを勃てるまでもないC/C++の質問はここで 5 pc11.2ch.net/test/read.cgi/tech/1230516307/ スレを勃てるまでもないC/C++の質問はここで 6 pc11.2ch.net/test/read.cgi/tech/1231564903/ スレを勃てるまでもないC/C++の質問はここで 7 pc11.2ch.net/test/read.cgi/tech/1232983248/ スレを勃てるまでもないC/C++の質問はここで 8 pc12.2ch.net/test/read.cgi/tech/1235921779/
- 44 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 11:41:37 ]
- すまんが質問させてくれ
今とあるクラス(Aと過程)を更に別のクラス(Bと過程)で使おうとしてるんだが Bクラスの中では、Aクラスを可変で使おうと思ってる そこでAクラス内部にリスト処理を追加しようか、Bクラス内部で追加しようかで悩んでる 具体的には Aクラスを↓のように追加するか class AClass { private: AClass *next,*prev; }; Bクラスで class BClass { private: typedef struct _tag_hogehoge{ AClass *pA; struct _tag_hogehoge *next, *prev; } hogehoge; }; 果たしてどちらがいいだろうか? オブジェクト指向ならAクラスに追加だけど 高速性を重視にしてるから、Bクラスの方が早いんだよね みなさんならどうしますか?
- 45 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 11:43:52 ]
- >>44
std::list使う。
- 46 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 11:47:13 ]
- オブジェクト指向なら、Aが前後のインスタンスを意識するのは不自然じゃね?
- 47 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 11:54:49 ]
- >>45-46
レス有難うございます >>45 std::listですが、これはランダムアクセスが遅い為に考慮しませんでした ランダムアクセスでも高速で取得出来る様な独自のリスト処理を AクラスかBクラスのどちらかに追加しようと思っています >>46 うーん、そうでしょうか? オブジェクト指向だからこそ、Aクラス自信のインスタンスは Aクラスで処理するものだと考えております
- 48 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 12:07:31 ]
- 原則としてAは自分自身のことだけ知っているべきで、自分がどう管理されるかは
管理するオブジェクトが知っていればいいんじゃないかな? 自分自身に next,prevがひっついてるとリスト構造を強要されるけど、 無ければ配列やハッシュマップなど他の管理方法をとることもできる。 あくまで原則論で、高速化などのために崩すこともあるけど。
|

|