[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2ch.scのread.cgiへ]
Update time : 03/25 20:45 / Filesize : 142 KB / Number-of Response : 589
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part123



1 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 16:36:27.08 ID:jZESqUY+.net]
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。

前スレ
C++相談室 part122
peace.2ch.net/test/read.cgi/tech/1453557975/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.97【環境依存OK】
peace.2ch.net/test/read.cgi/tech/1439849418/

■長いソースを貼るときはここへ。■
 codepad.org/
 ideone.com/

83 名前:デフォルトの名無しさん mailto:sage [2016/02/26(金) 07:44:52.80 ID:L7RTVb9K.net]
しかしnewでクラス作成時コンストラクタ呼出し前にメンバを全ゼロ初期化する方法がないんだな

84 名前:デフォルトの名無しさん mailto:sage [2016/02/26(金) 07:48:12.67 ID:L7RTVb9K.net]
DelphiとかBCBだとTObject派生物はゼロ初期化されるが
標準C++規格でのやり方では聞いたことが無い

85 名前:デフォルトの名無しさん mailto:sage [2016/02/26(金) 08:01:04.93 ID:Pw5RFD2X.net]
自分が知らない、聞いたことがないことを
方法が無いと断定する低能には難しいだろうな

86 名前:デフォルトの名無しさん mailto:sage [2016/02/26(金) 08:04:28.09 ID:tJ1gUyHd.net]
初期化はコンストラクタでやるもんだと思うが、なぜコンストラクタ呼び出し前に
そんなことやる必要があるんだろうか。

87 名前:デフォルトの名無しさん [2016/02/26(金) 08:28:20.75 ID:ouDcFdqg.net]
char p[sizeof hoge]={};
new(p) hoge();


88 名前:デフォルトの名無しさん mailto:sage [2016/02/26(金) 08:53:49.35 ID:L7RTVb9K.net]
>>86
初期値がゼロのメンバ変数はいちいち初期化する面倒が不要になる

89 名前:デフォルトの名無しさん mailto:sage [2016/02/26(金) 10:15:10.11 ID:OlJixx6H.net]
struct X { int a, b, c; }
X *x = new X({0, 0, 0});
これを簡略化したいってことか?

90 名前:デフォルトの名無しさん mailto:sage [2016/02/26(金) 12:19:06.42 ID:h1q56VEq.net]
new X() で済む話だよね。

91 名前:デフォルトの名無しさん mailto:sage [2016/02/26(金) 18:27:57.97 ID:Pw5RFD2X.net]
これでおk
struct baka {
 int p;
 baka() = default;
 baka(int p) : baka{}, p{p} {
 }
};



92 名前:デフォルトの名無しさん mailto:sage [2016/02/26(金) 18:43:51.81 ID:AYRtcLu9.net]
struct baka {
 int a=0;
 bool b=true;
 baka() = default;
};
でええやん

93 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/02/26(金) 18:45:56.98 ID:6Zondczs.net]
struct tensai {
 int a=0;
 bool b=true;
};

94 名前:デフォルトの名無しさん mailto:sage [2016/02/26(金) 19:38:43.59 ID:VKP1Cmo0.net]
0で初期化すれば安心って、それ自体が間違ってる気がする。

95 名前:デフォルトの名無しさん mailto:sage [2016/02/26(金) 20:27:08.19 ID:5826a3fE.net]
PostMessageを監視すべし

96 名前:デフォルトの名無しさん [2016/02/26(金) 23:25:03.72 ID:yiTr60/V.net]
double型の行列とcomplex<double>型の行列演算結果がcomplex<double>
型になるように型拡張を行うには何のテクニック使ったらいい?

あ、単純な演算子のオーバーロード使うと結構大変だから(できんわけではないが)
テンプレートテクニックとかうまく使えないかな。

97 名前:デフォルトの名無しさん mailto:sage [2016/02/26(金) 23:45:09.61 ID:zaiZLpHx.net]
演算子のオーバーロードが一番いい

98 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 00:58:43.79 ID:e3stW6O/.net]
なにをいってるかわからんな
行列の個々の要素ごとにdoubleとcomplex<double>で四則演算するなら
結果は自動的にcomplex<double>になるだろ

99 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 01:54:26.55 ID:pvHfkl8D.net]
complex<double>をベクトルとみなして、doubleをスカラとみなすのか
そういう演算はC++では普通標準で用意しないから自分でオーバーロードすればいいじゃん

100 名前:デフォルトの名無しさん [2016/02/27(土) 01:57:02.77 ID:C/ecoBXH.net]
TVアニメ『NEW GAME!』というのを知り、漫画を読みました。
無職5年目ですが、ぷろぐらむ(C++)Win32 アプリケーションを使い
ゲームを製作(勉強)したいと思いました。
お勧めの参考書籍やサイトが有りましたら教えて下さい

101 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 02:32:29.58 ID:wxfsuIHK.net]
>>96
行列クラス自分で作るつもりなら当然行列どうしや行列とスカラーの演算子も定義しなきゃいかんわな
俺ならそんなもの自作しないで既存の行列演算ライブラリ(例えばeigenとか)使うけど
ちなみに>>98が言ってるようにdouble型とcomplex<double>型のスカラー演算結果は標準でcomplex<double>になるよ



102 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 03:47:18.73 ID:0gtZVCNd.net]
>>100
ここは怖い人ばかりなので初心者スレへどうぞ

103 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 04:15:41.61 ID:EVLCSxnr.net]
>>102は会話のできないアスペ

104 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 09:03:39.57 ID:vL66Pzde.net]
>>96
もしかして、このあたりの話をすればいいのかな?
stackoverflow.com/questions/17013655/how-to-use-decltype-to-determine-the-result-of-an-addition
これが「結構大変だ」と言っていたのならすまぬ。

105 名前:デフォルトの名無しさん [2016/02/27(土) 09:52:02.29 ID:HsyJ5PWO.net]
>>104

ありがとう。

スカラー単位の型拡張はあたりまえだけど、double型を要素とする
行列をcomplex<double>型の行列に型拡張するときどうするんだろ
と思ってね.

やはり要素レベルでtraitsを使って,traitsで定義した型を要素と
する行列を作るのが正攻法かなあ。C++14だともっとエレガントに
できないかな? 紹介してくれた所を見てみるよ.

106 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 12:31:21.47 ID:hVqcAFgk.net]
手法にこだわって目的を達成できない典型的パターンだな。

107 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 16:53:21.38 ID:tW+Ks6U1.net]
目的がオナニーだから問題ない

108 名前:デフォルトの名無しさん [2016/02/27(土) 18:46:59.39 ID:HsyJ5PWO.net]
馬鹿には好きなだけ言わせとくよ

109 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 20:19:31.60 ID:qyipvj4l.net]
初心者の口から出る「エレガント」に反吐が出る

110 名前:デフォルトの名無しさん [2016/02/27(土) 20:25:42.58 ID:HsyJ5PWO.net]
はいはい、キチガイ犬w

111 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 20:43:20.31 ID:e3iZnQnQ.net]
#ifndef INCFILE_H_
最後のアンダーバーは何のためにあるですか?



112 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 21:54:26.15 ID:TnvXsjWd.net]
反吐が出ると言って本当に吐いてるやつを見たことがない

113 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 21:57:54.41 ID:EVLCSxnr.net]
自然言語の言い回しも理解できない低能には
プログラム言語は難しいだろう

114 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 22:06:17.26 ID:EVLCSxnr.net]
>>111
低能が書いた#defineによる定数と
名前を衝突しにくくするためだろうきっと

115 名前:デフォルトの名無しさん [2016/02/27(土) 22:07:02.57 ID:T6Jc3KoX.net]
ひとつのテンプレート関数内部で'A'とL'A'を自動判別する方法教えてください
int a['A' or L'A'];
みたいな

116 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 22:26:19.05 ID:TnvXsjWd.net]
>>113
あのさ、ここは2チャンネルであって、基本的に初心者が集まる場所なんだよ?
昔とは違うんだ。わかるか?

117 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 23:38:42.62 ID:bRJMsBK5.net]
>>116
馬鹿の無根拠な妄言ktkr

118 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 23:53:52.62 ID:TnvXsjWd.net]
もともとは>>109の発言

119 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 09:01:53.38 ID:p5UOgBYD.net]
昔ってなんだ? ネットニュースか?

120 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 09:51:52.96 ID:sxXcnRPc.net]
>>100
14歳からはじめるC言語オンラインゲームプログラミング
15歳からはじめるDirectX9 3Dゲームプログラミング教室
14歳からはじめるシリーズ~ あと二冊

121 名前:デフォルトの名無しさん [2016/02/28(日) 10:59:04.87 ID:yeDT/yDi.net]
Compositeデザインパターンでcomposite1のchildlenの型をcomponentの配列ではなくcomposite2の配列に限定し、composite2のchildrenはleafのみの配列に限定したいのですが、どのようにしたらいいのでしょうか?



122 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 13:29:41.30 ID:w64tNJjH.net]
それはコンポジットパターンなのか?

123 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 13:48:26.49 ID:5n5R60tK.net]
それだけじゃ型を明示しろよとしか思えんが

124 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 14:19:39.94 ID:tz1QY8TO.net]
そういうふうに組めばいいとしか言いようがない。
組む際に何がネックになってるのかね。

125 名前:デフォルトの名無しさん [2016/02/28(日) 17:19:18.45 ID:yeDT/yDi.net]
>>123
>>124
Compositeでchildrenの型としてComponentを用い、それを継承してComposite1とComposite2を作ったら
これらのchildrenの型が自動的にComponentになってしまうのでどこでどうやって型を明示すればよいのか困っております

126 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 17:35:13.98 ID:emPXsfmM.net]
型を限定したいとか明示したいとか言ってる時点でCompositeパターンを使うのは間違いなんじゃない?

127 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 18:05:44.76 ID:jJK+500Y.net]
配列要素の型を限定したい(componentの配列ではなくcomposite2の配列に限定したい)というのはいかんともし難い
配列要素の型を明示したいだけなら多態性がわかっていれば問題なくできるはず…

ただし、インスタンスの配列で多態性をやるには配列要素の型は基底クラスでなく派生クラスにする必要があり、
派生クラスが2種類(以上)あるcomponentパターンはできない

この場合の配列は基底クラスを指すポインタの配列であるべきなのでは…

※ 個人の感想です。

128 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 18:27:33.71 ID:fFRYdAaf.net]
配列を持つコンポーネントにして、visitorと組み合わせるってのはダメなのかな

129 名前:デフォルトの名無しさん [2016/02/28(日) 18:28:25.88 ID:yeDT/yDi.net]
>>122,>>126
Compositeパターンじゃなくてもいいのですが、childrenに対する操作は同じ操作がたくさんあるので継承したいのです。
しかしcomposite1はcomposite2にしかないメソッドを呼び出すこともあり、この時ダウンキャストするのを出来れば避けたいと思っております。
>>127
やはり限定するのは難しいですか……
すみません、
>配列要素の型を明示したいだけなら多態性がわかっていれば問題なくできるはず
というのは何を使って明示することを想定されているのか教えていただけないでしょうか?

130 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 19:11:55.42 ID:c40FCrwk.net]
登場人物がComposite1とComposite2とLeafだけなら、普通にComposite1::getChild()は
Composite2を返してComposite2はLeafを返せばいいだけだろ。

131 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 19:52:22.72 ID:PMSRihXY.net]
>>125
「これらのchildrenの型が自動的にComponentになってしまう」
↑ここが何かおかしい。んなわけねーだろ、と。
ほんとうにそんなところまで Composite が制約を加えてるなら、そこが問題。

>>129
ダウンキャストして済むならそれで済ませればいいだろうとも思う。
「避けたい」の具体的な理由があるのかと。



132 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 20:57:13.19 ID:gim467qR.net]
>>129
childrenに対する操作の一部を共通化したいだけなら、
こんな感じでCompositeに共通処理を集めるだけじゃ駄目かね。

template<class Child> class Composite { /* 共通処理 */ };
class Leaf { };
class Composite2 : public Composite<Leaf> { /* Leafだけの処理 */ };
class Composite1 : public Composite<Composite2> { /* Composite2だけの処理 */ };

133 名前:デフォルトの名無しさん [2016/02/28(日) 21:20:23.21 ID:yeDT/yDi.net]
>>131
class composite{
vector<shared_ptr<component> > children;
}

class composite1:public composite{
}

の形で実装したらcomposit1のchildrenはcomponentになると思っていましたが、違ったでしょうか?
ダウンキャストを避けたいのは単に私が管理しきれなくなりそうだからです

>>132
おっしゃる通りの実装で解決しました。
たしかにtemplateを使えば私の望む動きをしてくれます。
分かりやすく素晴らしい回答大変ありがとうございました。

134 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 21:27:42.44 ID:emPXsfmM.net]
妙に早いな

135 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 21:33:54.60 ID:PMSRihXY.net]
>>133
配列実体の持ち方を composite で決めてしまっているところが問題だということ。

class composite{
virtual component& nth_child(int n) = 0;
}

class composite1:public composite{
vector<shared_ptr<compisite2> > children;
}

こうしておけばよかったんじゃないかと思うんだけど >132 で解決したならいいかな。

136 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 22:12:35.00 ID:jJK+500Y.net]
お禿げ様はインターフェースは一般に最初の基底クラスに全て集まる傾向にあるとはどっかに書いてたが
実装まで最初の基底クラスに集約するのが良い設計なのかどうか…

Cmposite1、Comosite2だけならまだしも
Cmposite3、Comosite4、…と増えていった場合に都度Compositeクラスのソースコードが編集され、肥大化していくんやで〜

137 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 05:58:03.54 ID:j6jzPb2d.net]
Mixin的な使い方に限るなら問題ないでしょう。
継承が嫌なら、Compositeをメンバ変数にするとか、
vectorを受け取る関数テンプレート群にしてしまうとかすればいいし。

138 名前:デフォルトの名無しさん [2016/03/02(水) 23:08:12.47 ID:g3p9uXMc.net]
C++の質問です。

ウィンドウハンドルHWND型を数値化する方法をご教授下さい。

何をしたいのかというと、VisualStudio付属のspy++を使用して、
色々な事をしています。

spy++の各ウィンドウの「ウィンドウ」文字列の右にウィンドウハンドルID?のような、
ウィンドウ毎に一意につけられたIDが表示されています。
このIDを取得したいのです。

なのでウィンドウハンドルHWND型を数値化出来れば、上記spy++のウィンドウハンドルID?
と同じ物を取得できると考えました。

よって、ウィンドウハンドルHWND型を数値化する方法をご教授下さい。
※もしかしたら目的と実施しようとしている事が間違っているかもしれません
※その場合は正しくウィンドウハンドルID?を取得できる方法をご教授下さい

139 名前:デフォルトの名無しさん mailto:sage [2016/03/02(水) 23:26:29.94 ID:v5tMoIR7.net]
>>138
size_t id = reinterprete_cast<size_t>(hwnd);

140 名前:デフォルトの名無しさん mailto:sage [2016/03/02(水) 23:57:02.22 ID:9ZwWQH++.net]
なぜそこでstd::intptr_tでなくsize_tが出てくるのか不思議

141 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 05:25:34.43 ID:tlFkd89Q.net]
しかもreinterpret_cast<&size_t>じゃないとパンニングできないし



142 名前:デフォルトの名無しさん [2016/03/03(木) 05:55:57.70 ID:vKHIYEam.net]
uint32_t id = (uint32_t)(uintptr_t)hwnd;

で問題ないよ

143 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/03/03(木) 06:01:02.75 ID:UnIH0jHm.net]
>>142
hwndが64ビットの可能性

144 名前:デフォルトの名無しさん [2016/03/03(木) 06:03:58.47 ID:vKHIYEam.net]
>>143
https://msdn.microsoft.com/en-us/library/windows/desktop/aa384203%28v=vs.85%29.aspx

145 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/03/03(木) 06:18:15.21 ID:UnIH0jHm.net]
#include <cstdint>
uint32_t id = static_cast<uint32_t>(reinterpret_cast<uintptr_t>(hwnd));

C++スタイルのキャスト、めんどい

146 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/03/03(木) 06:22:38.14 ID:UnIH0jHm.net]
Windows限定ならcstdint要らないかな?

UINT id = static_cast<UINT>(reinterpret_cast<UINT_PTR>(hwnd));

147 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/03/03(木) 06:27:13.98 ID:UnIH0jHm.net]
Win16じゃ動かないんだな

148 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 06:42:45.53 ID:+JeDUCvS.net]
16ビットオブジェクトを出力できるコンパイラ未だもってんのか?

149 名前:デフォルトの名無しさん [2016/03/03(木) 08:31:20.27 ID:6K3/+EIJ.net]
>>138

ありがとう解決しました。
.Netの世界の文字列型に変換する必要があるので以下としました。
String^ hw_id = static_cast<UINT>(reinterpret_cast<UINT_PTR>(this->hw)).ToString("X");

150 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 08:36:11.53 ID:km2vGawV.net]
>>148
持ってるか?
って聞かれたら、
Visual C++ 1.52c が押し入れのどこかに眠ってるはず
って答えることにしてる

151 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 11:36:15.96 ID:DPHy8aYb.net]
>>148
昔手に入れたLSI Cの試食版の方ならたしかどこかに・・・



152 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 12:03:10.46 ID:mDpo7bQQ.net]
Cマガ電脳倶楽部

153 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 12:50:10.40 ID:ECv4uLci.net]
ビジアルシー2についてるのがある。

154 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 20:25:35.72 ID:km2vGawV.net]
>>153
それが >>150 だよ
大元の Visual C++ 2.0 は捨てたかも知らんけど、1.52c はなぜか捨てられない

155 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 20:47:49.02 ID:+JeDUCvS.net]
1.52って5.24" FDDだったりしない?

156 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 21:13:16.06 ID:km2vGawV.net]
>>155
単品売りは知らんけど 2.0 付属の奴は1995 年だから、1.52c も普通に CD-ROM だよ
https://ja.m.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B#.E6.A6.82.E8.A6.81

157 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 21:20:26.58 ID:+JeDUCvS.net]
そう言えば、32ビットWindowsもう動態保存してるの無いや

double spaceからサルベージするためにWin98SEをqemuかvboxにいれたイメージがどこかにあるはずだけど

158 名前:デフォルトの名無しさん mailto:sage [2016/03/04(金) 09:04:28.30 ID:TYlQwhRh.net]
strcopyを代入演算子=に置き換えてみればわかるだろ

159 名前:デフォルトの名無しさん [2016/03/04(金) 10:00:38.32 ID:wO5/jJwK.net]
は?どこの誤爆だよ
それにstrcopyなんてものは聞いたこともないぞ
朝からクソ酔っ払ってる俺よりもトンチンカンな事書き込むってどんだけヤバイ薬やってるんだよ

160 名前:デフォルトの名無しさん mailto:sage [2016/03/04(金) 10:05:52.57 ID:4C3oKPHs.net]
俺に聞け

161 名前:デフォルトの名無しさん [2016/03/05(土) 16:26:40.97 ID:Uw046/hC.net]
初心者です。
c++で文字を入力するとそれを出力するものをビルドしたら、出力した後すぐにビルドが終わってしまいます。
出力後に画面を固定する方法はありませんか?



162 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 16:33:23.72 ID:yY6Am1xo.net]
ビルドじゃなくてデバッグ実行だろ?
ひとまずVSと仮定して、適当にブレークポイントでも打っとけば?

163 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 16:33:48.17 ID:niBmwPNn.net]
>>161
入力待ちを利用する

164 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 16:36:24.81 ID:TtOs9IsN.net]
環境を書かないと

165 名前:デフォルトの名無しさん [2016/03/05(土) 16:53:34.22 ID:Uw046/hC.net]
<<163
出来そうです。有難うございました。

166 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 17:01:13.18 ID:e8RWR+IR.net]
デバッガーで実行(F5)ではなく、デバッガー無しで実行(ctrl-F5)すれば良い

167 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 17:42:59.14 ID:u5sweskK.net]
いやそういう話じゃないし質問者は解決したみたいだから

168 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 18:15:07.47 ID:eQxVJDBh.net]
system("pause");

169 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 19:06:42.96 ID:e8RWR+IR.net]
いや、確実にそういう話だよ。
そういう話じゃないなら、どう言う話だよ。

170 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 19:35:57.25 ID:u5sweskK.net]
はあ?入力文字の出力直後にコンソール消えちゃった(泣)のありがちパターンに決まってるだろ
なんでそれが分らないんだよ

171 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 19:47:02.21 ID:oAjMaO0h.net]
>>170
だからそういう話だろう。



172 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 19:56:15.67 ID:u5sweskK.net]
>>171
もしかして、それがデバッガで実行するかそうじゃないかで変わるとでも思ってるのか?

173 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 19:57:35.25 ID:e8RWR+IR.net]
その、ありがちなパターンがどう言う状況で生じるのか、わからないのか?
PostMessage監視してろよ

174 名前:デフォルトの名無しさん [2016/03/05(土) 19:59:34.21 ID:e8RWR+IR.net]
>>172
もしかして、それがデバッガで実行するかそうじゃないかで変らないとでも思ってるのか?

175 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 20:00:46.88 ID:TtOs9IsN.net]
多分そうなんだろうけど、決めつけはしない方が良いかと

176 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 20:03:50.62 ID:45RldPY2.net]
PostMessageさんはもう許してやれよ

177 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 20:41:09.94 ID:e8RWR+IR.net]
>>175
俺の推測は完璧だ。
キミも後10年PostMessage監視してれば、「環境書け」とかバカのひとつ覚え繰り返さなくても済むようになるかもね。

178 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 20:41:10.45 ID:oAjMaO0h.net]
実際変わるよねぇ
VSだと。

179 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 21:15:14.82 ID:u5sweskK.net]
ホントだ知らんかったわ。どうなってるんだこれ?
でもデバッガ無しかどうかの問題じゃないわな

180 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 21:41:59.15 ID:NhCRzDCm.net]
みんなの書き込みがまるでわかんないんだけど
やっぱり PostMessage から勉強しなきゃいけないと、そういうこと…?

181 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 21:50:07.17 ID:u5sweskK.net]
>>177
たしかに俺はPostMessageについて書いた者だが
キミは
while (PostMessage(hWnd, WM_NULL, 0, 0))
と64メガのVirtualAllocで証明終了!君か
これをバカ呼ばわりされたのがよっぽど悔しかったみたいだな

CTRL-F5についてはいいことを教えてもらったよありがと
exe直接起動と振る舞いが違うんじゃ使うことはないだろうけど

もう一度言っておくけどキミがしつこく言ってる「PostMessageの失敗がメモリ不足の兆候になる」なんて俺は一言も言ってないからw



182 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 21:58:24.08 ID:e8RWR+IR.net]
>>181
自信満々で、物凄くあたま悪い発言をして、しかも、その頭悪さを理解してないバカは
日本中探してもそんなに多くは無い。


471 デフォルトの名無しさん[sage] 2016/02/09(火) 08:07:47.87 ID:GGDlYrLi

Windowsでエクスプローラその他殆どのアプリがメモリ不足死んだ状態でも生き残らななきゃ
いけないシステム監視ソフトを書いたことがある俺に言わせるとそれほど難しいことじゃない
Windowsの場合、メモリアロケーションに失敗する前にPostMessageが失敗するようになるから
その辺に対応するのがコツ

183 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 22:04:16.82 ID:u5sweskK.net]
>>182
それが「PostMessageの失敗がメモリアロケーション失敗の兆候を知ることが出来る」としか読めないわけか
そんなんだから
while (PostMessage(hWnd, WM_NULL, 0, 0))
と64メガのVirtualAllocで証明終了!
になっちゃうんだよCTRL-F5クン






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<142KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef