トップページ > プログラム > 2015年09月03日 > G+oloE/W

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

1 位/172 ID中時間01234567891011121314151617181920212223Total
書き込み数00000100000000000003225316



使用した名前一覧書き込んだスレッド一覧
NAS6 ◆n3AmnVhjwc
mallocの後にfree不要と言うバカいるの?Part2
C++相談室 part119 [転載禁止]©2ch.net

書き込みレス一覧

mallocの後にfree不要と言うバカいるの?Part2
665 :NAS6 ◆n3AmnVhjwc []:2015/09/03(木) 05:41:08.75 ID:G+oloE/W
ttp://nas6.main.jp/secret/ContainerPtr.htm
コンテナポインタ説明ページ
メモリリークを退治した^^
C++相談室 part119 [転載禁止]©2ch.net
115 :NAS6 ◆n3AmnVhjwc []:2015/09/03(木) 19:17:25.38 ID:G+oloE/W
>>112
template<typename T> class hoge{};
hoge<hoge<int>*> n_inst;

??????
C++相談室 part119 [転載禁止]©2ch.net
117 :NAS6 ◆n3AmnVhjwc []:2015/09/03(木) 19:27:06.77 ID:G+oloE/W
template<typename T, typename U> class hoge{};
hoge<hoge<int, int>*, int> tu_inst;

意味が分からん。それとも

template<typename T> class hoge{
public:
 T* m_p;
};
hoge<int> n_inst;
n_inst.m_p;//int*型
普通にこうしたいだけ?
C++相談室 part119 [転載禁止]©2ch.net
118 :NAS6 ◆n3AmnVhjwc []:2015/09/03(木) 19:29:10.11 ID:G+oloE/W
ていうか、論理が分からないのか、循環参照したがるんだよな
循環参照は不定なだけ
C++相談室 part119 [転載禁止]©2ch.net
120 :NAS6 ◆n3AmnVhjwc []:2015/09/03(木) 20:43:03.17 ID:G+oloE/W
>>119
int hogeeeeeee(int i){return hogeeeeeee(i);}
void main(){hogeeeeeee(1); return;}
これが戻り値が不定にならないと思うのと同じ
C++相談室 part119 [転載禁止]©2ch.net
122 :NAS6 ◆n3AmnVhjwc []:2015/09/03(木) 20:50:29.42 ID:G+oloE/W
テンプレートは動的でなく静的だからね
TempClass< float, 6 > test1; // OK
TempClass< char, items++ > test2; // Error, second parameter
// must be constant.
C++相談室 part119 [転載禁止]©2ch.net
127 :NAS6 ◆n3AmnVhjwc []:2015/09/03(木) 21:16:27.91 ID:G+oloE/W
>>124
テンプレートは生成が静的だから完全解決できないと生成できません
プログラムコードも静的だから完全解決できないこういうコードはできません
int hoge(int i){return hage(i);}
int hage(int i){return hoge(i);}
void main(){int ret=hoge(1); return;}
hogeかhageかでif分岐などで解決しないと実行できません
で>>124みたいなテンプレートは↑こういう風に解釈されます
C++相談室 part119 [転載禁止]©2ch.net
129 :NAS6 ◆n3AmnVhjwc []:2015/09/03(木) 21:47:39.21 ID:G+oloE/W
どういうのがやりたいのかわからんけど、↓でそれの何ができないの?
class base{
public:
 base(base& n){m_p=&n;}
 base* m_p;
};
class A : public base{
public:
 A(A& n) : base(n){;}
};
class B : public base{
public:
 B(B& n) : base(n){;}
};
C++相談室 part119 [転載禁止]©2ch.net
131 :NAS6 ◆n3AmnVhjwc []:2015/09/03(木) 22:06:39.08 ID:G+oloE/W
>>129
でA←→Bの相互通信がしたいなら
messengerクラスを独立に作ればいいだけ
C++相談室 part119 [転載禁止]©2ch.net
132 :NAS6 ◆n3AmnVhjwc []:2015/09/03(木) 22:09:18.49 ID:G+oloE/W
 base* m_p;
つかこれはthisポインタだな
C++相談室 part119 [転載禁止]©2ch.net
133 :NAS6 ◆n3AmnVhjwc []:2015/09/03(木) 22:12:34.19 ID:G+oloE/W
要するにクラス参照の持ち合いなんて
baseクラスからAとBを派生させて
独立なメッセージクラスで通信すりゃあいいんだよ
C++相談室 part119 [転載禁止]©2ch.net
134 :NAS6 ◆n3AmnVhjwc []:2015/09/03(木) 22:19:52.99 ID:G+oloE/W
abstract factoryパターンだろ
C++相談室 part119 [転載禁止]©2ch.net
136 :NAS6 ◆n3AmnVhjwc []:2015/09/03(木) 22:39:04.34 ID:G+oloE/W
要するにAとBのクラス参照の持ち合いなんて
baseクラスからAとBを派生させて
独立なメッセージクラスで通信すりゃあいいんだよ
デザインパターンではabstract factoryパターンだろ
そのまんまだよ
C++相談室 part119 [転載禁止]©2ch.net
139 :NAS6 ◆n3AmnVhjwc []:2015/09/03(木) 23:24:43.23 ID:G+oloE/W
class base{
public:
 int m_val;
 base(int i):m_val(i){;}
 virtual int func(int i){return i;}
};
class add:public base{
public:
 int func(int i){return m_val+i;}
};
class sub:public base{
public:
 int func(int i){return m_val-i;}
};

base *p,*q;//abstract factoryパターン
int r;//メッセージクラス
p=new add(21); r=p->func(7);
q=new sub(r); r=q->func(7);
C++相談室 part119 [転載禁止]©2ch.net
140 :NAS6 ◆n3AmnVhjwc []:2015/09/03(木) 23:34:56.29 ID:G+oloE/W
class base{
public:
 int m_val;
 base(int i=0):m_val(i){;}
 virtual int func(int i=0){return i;}
};
class add:public base{
public:
 int func(int i=0){return m_val+i;}
};
class sub:public base{
public:
 int func(int i=0){return m_val-i;}
};

base *p,*q;//abstract factoryパターン
int r;//メッセージクラス
p=new add(21); r=p->func(7);
q=new sub(r); r=q->func(7);

intを任意のクラスにしたらなんか色々出来そうだろ
C++相談室 part119 [転載禁止]©2ch.net
141 :NAS6 ◆n3AmnVhjwc []:2015/09/03(木) 23:41:00.21 ID:G+oloE/W
ありゃ、コンストラクタ忘れた
class base{
public:
 int m_val;
 base(int& i=0):m_val(i){;}
 virtual int func(int i=0){return i;}
};
class add:public base{
public:
 add(int& i=0):base(i){;}
 int func(int i=0){return m_val+i;}
};
class sub:public base{
public:
 sub(int& i=0):base(i){;}
 int func(int i=0){return m_val-i;}
};

base *p,*q;//abstract factoryパターン
int r;//メッセージクラス
p=new add(21); r=p->func(7);
q=new sub(r); r=q->func(7);

intを任意のクラスにしたらなんか色々出来そうだろ


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