スレを勃てるまでもな ..
[2ch|▼Menu]
39:デフォルトの名無しさん
09/04/19 10:49:01
ポインタの概念はわかるんですが、じゃあ何に使うの?って感じです。

40:デフォルトの名無しさん
09/04/19 10:53:30
>>39
ポインタの使用例:

#include <stdio.h>
void f(int *p) { *p = 3; }

int main(void)
{
int i;
i = 100;
printf("%d\n", i);
f(&i);
printf("%d\n", i);
return 0;
}

41:デフォルトの名無しさん
09/04/19 10:57:04
>>38
Wikipedia項目リンク

42:デフォルトの名無しさん
09/04/19 11:34:03


43:デフォルトの名無しさん
09/04/19 11:34:45
>>40
ありがとうございます。

44:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/04/19 11:43:52
>>44
std::list使う。

46:デフォルトの名無しさん
09/04/19 11:47:13
オブジェクト指向なら、Aが前後のインスタンスを意識するのは不自然じゃね?

47:デフォルトの名無しさん
09/04/19 11:54:49
>>45-46
レス有難うございます

>>45
std::listですが、これはランダムアクセスが遅い為に考慮しませんでした
ランダムアクセスでも高速で取得出来る様な独自のリスト処理を
AクラスかBクラスのどちらかに追加しようと思っています

>>46
うーん、そうでしょうか?
オブジェクト指向だからこそ、Aクラス自信のインスタンスは
Aクラスで処理するものだと考えております

48:デフォルトの名無しさん
09/04/19 12:07:31
原則としてAは自分自身のことだけ知っているべきで、自分がどう管理されるかは
管理するオブジェクトが知っていればいいんじゃないかな?
自分自身に next,prevがひっついてるとリスト構造を強要されるけど、
無ければ配列やハッシュマップなど他の管理方法をとることもできる。
あくまで原則論で、高速化などのために崩すこともあるけど。


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5494日前に更新/14 KB
担当:undef