1 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 10:31:46 ] スレを勃てるまでもない低俗な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/ スレを勃てるまでもないC/C++の質問はここで 9 pc12.2ch.net/test/read.cgi/tech/1240022781/ スレを勃てるまでもないC/C++の質問はここで 10 pc12.2ch.net/test/read.cgi/tech/1242300936/ スレを勃てるまでもないC/C++の質問はここで 11 pc12.2ch.net/test/read.cgi/tech/1245059383/ スレを勃てるまでもないC/C++の質問はここで 12 pc12.2ch.net/test/read.cgi/tech/1248010352/ スレを勃てるまでもないC/C++の質問はここで 13 pc12.2ch.net/test/read.cgi/tech/1260842197/ スレを勃てるまでもないC/C++の質問はここで 14 pc12.2ch.net/test/read.cgi/tech/1269273471/
207 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 17:47:21 ] >>206 引数として渡したいものが、 ・CELL ・CELLへのポインタ ・CELLへのポインタのポインタ の何れなのかをはっきりさせよう
208 名前:199、200 mailto:sage [2010/05/27(木) 18:16:14 ] >>207 引数として渡したいのは「cell_floorの先頭アドレス」と「open_listの先頭アドレス」です。 CELLは型名なので。
209 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 18:21:10 ] 先頭アドレスならcell_floorだけでいいんじゃね
210 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 18:22:59 ] Cのポインタから勉強しなおしだな
211 名前:199、200 mailto:sage [2010/05/27(木) 18:25:16 ] すみません。引数として渡したいのは「cell_floorポインタ型配列の中のポインタ」の間違いです。
212 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 18:46:47 ] >>208 (先頭)アドレスというのは値のことであり、その値の型として ・CELLへのポインタ ・CELLへのポインタのポインタ があるということ。 同じ値であっても型が違うんだよ。その変がよくわかってないんじゃないか。
213 名前:199、200 mailto:sage [2010/05/27(木) 19:09:04 ] SetScoreBubbleSort関数では、 1番目の引数の配列の中のポインタの先の値(2次元配列)を 2番目の引数の配列の中のポインタの先の値(1次元配列)と比較した後に 1番目の引数の配列の中のポインタを2番目の中にコピーしようとする意図があります。
214 名前:199、200 [2010/05/27(木) 19:50:46 ] デバッグしてたらいくつもマズイ点を見つけたので出直してくるorz
215 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 03:42:27 ] Unix上のCで標準入力と標準出力をファイルとしてオープンする場合に "/dev/stdin", "/dev/stdout"と記述することができたと思いますが Windows上のC++(Visual C++ 2010 Express)ではどのように記述 すれば良いでしょうか?
216 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 06:40:03 ] // fprintf に標準出力したいなら、こうだ。 #include <stdio.h> main(){ // FILE *stdout; fprintf(stdout,"err"); }
217 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 07:14:52 ] >>216 一般のファイルの入出力用に書かれたプログラムをそのまま利用して 標準入出力の読み書きをするにはどうするの?という質問だと思う。
218 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 07:54:26 ] FILE *fp; if(1==0){ fp = fopen("/dev/stdin"); }else{ fp = stdin; } か、コメントにすればいいのではないか。例をw
219 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 08:57:26 ] fopen() で con は使えたっけ?
220 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 09:21:13 ] >>219 使えるわけないだろ
221 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 09:59:12 ] >>220 使えないって確認した? >>215 Linux MS-DOS /dev/stdin con /dev/stdout con /dev/null nul のように対応するからやってみて。 >>216 「fprintfに標準出力」じゃ日本語が破綻している。
222 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 11:34:33 ] >>221 con は入力には使えるが出力には使えない お前こそ試したことあるのか?
223 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 11:52:27 ] コンパイル環境がVC++ならok
224 名前:221 mailto:sage [2010/05/28(金) 11:54:33 ] ないよ。だから、試してみてと書いている。 別に、「使えるに決まっているから>220は嘘だ」なんて書いていないから安心してね♥
225 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 11:55:29 ] 221じゃないけど bcc5.82ではできた
226 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 12:14:30 ] >>215 環境依存せず stdout と stdin を使うのがいい バカどもの発言には惑わされない方がいいよ
227 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 12:30:00 ] >>226 話がわからないのなら、無理に書かなくていいよ。 今は、「標準入出力の環境依存したデバイス名は何?」って話題だからね。 それとも、環境依存しないデバイス名が存在しているなんて妄想に囚われているのかい?
228 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 15:05:42 ] >>227 アンカー見てないの? >>215 に対するレスだよ お前が振ったくだらん話題には興味ないよ 自意識過剰にも程があるよ
229 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 15:08:30 ] conで開けるのは標準入出力ではなくコンソールだけどね Windows API の CreateFile で CONIN$ と CONOUT$ というのもある
230 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 15:08:32 ] 誰と戦っているのだろう……
231 名前:215 mailto:sage [2010/05/28(金) 15:23:44 ] fgets(buf, 256, stdin); で問題なく動きました。 ありがとうございました。
232 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 17:58:46 ] 質問はオープンの仕方だったのにね
233 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 20:15:13 ] まあ、ファイルは開かないと読めないものという先入観があるのは しょうがないだろう。
234 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 20:28:00 ] え?
235 名前:233 mailto:sage [2010/05/29(土) 01:02:34 ] いや、だからstdinというファイルハンドルが自動的に開いているという可能性を 知らなかったから 「標準入力をファイルとしてオープンする」という質問になっちゃったんでしょう。 >>231 結果的に欲しかったのはファイルハンドルだったから。
236 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 09:40:18 ] boostが使えない環境でスマポを自作しないといけないとして どの程度のレベルまで仕様とか実装を練りこむ?
237 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 09:45:09 ] >>236 理由が政治的かメモリサイズかによって違ってくるな。
238 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 09:47:14 ] ハードウェア的な問題ではない ただ、boostに不慣れな人がいてとりあえず今回はなしで、という感じ
239 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 09:56:48 ] >>238 その判断は今回だけではすまないし後々後を引く。スマポは後から導入が面倒だから今後も見送りになりやすいぞ。 スマポ作るならboost::shared_ptrかstd::tr1::shared_ptrのインターフェース互換にして後にusingで切り替えられるようにすることを勧める。
240 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 09:58:05 ] プロジェクトに必要なもの調べてそれだけ実装
241 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 10:08:37 ] Googleみたいにboostの一部だけを厳選して使用すればいい この場合の選定基準は理解が簡単でトレーニングの必要が少ないライブラリだけを許可することかな shared_ptrやoptionalとか、その辺の解説サイトを流し読みすれば理解できるでしょ
242 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 10:12:23 ] 選定の結果、見事>>236 の社内標準に採択されたprogress_displayであった。
243 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 10:13:40 ] shared_ptrはヘッダだけだし、boost展開した箇所にincludeパス張るだけなんだからってPM説得したほうが良さげ
244 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 17:16:50 ] shared_ptr使ってて修正を重ねるうちに 気が付かないうちに循環関係になっててメモリリークを引き起こしちゃって原因の判明に苦労したのだが もうこれは気をつける以外に対応がないものなのか?
245 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 17:55:19 ] >>244 デバッグ終了時にリークはレポートされるから、レポートされたときの版のコミットログ調べればすぐに特定できると思う。 循環参照が起きるパターンは限られてるんで、その場で対応すればいいと思うよ。 予想外の循環参照が起きるのは設計が悪いとしか言いようがない。たとえば参照の方向を一定にし、前方参照とshared_from_thisを使わない設計にすれば循環参照は自然に避けられる。
246 名前:デフォルトの名無しさん [2010/05/30(日) 10:57:28 ] stdio.hをインクルードしなくても printf関数が使えるんですけどどういうことですか? 単なる警告なだけでエラーにならないのが不思議です。 本にはインクルードせよみたいに書いてあるのに じゃあ何のためにインクルードするの?って感じなんですが・・・。
247 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 11:04:15 ] Cの事なら、宣言されていない関数は 戻り値の型が int で、引数が (...) であるのと同じように解釈されて実行される。 だから、math.h をインクルードせずに sin(1) とかやると 変になる(int sin(int) であると解釈して実行されるので)など、 ちゃんとインクルードしないと意図しない動作を引き起こす恐れがあるので、 必ずインクルードすること。 (数学関数を特別視してちゃんとdoubleにしてくれるコンパイラもあるけど、 それはそのコンパイラ独自の仕様) C++なら文法エラー。
248 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 11:34:35 ] googleのコーディング規約の整数型の項目についてなんだけど これってコンテナのoperator[]の引数もintあるいはintN_tにしろってこと? あとintは少なくとも32bitあると考えても良いって書いてあるけどそんな保証はないよね?
249 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 11:58:15 ] グーグルの開発環境では最低32bitなだけだろ
250 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 12:22:04 ] 組み込みやらないなら最低32bitの過程が今時崩れることはないだろう
251 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 12:29:44 ] 社内規約をなんだと思ってるんだろうw
252 名前:デフォルトの名無しさん [2010/05/30(日) 16:10:26 ] float に100.123と入力して表示させると 100.123001となってしまうのは何故ですか?
253 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 16:11:28 ] 100.123が2進数では循環小数になるから
254 名前:デフォルトの名無しさん [2010/05/31(月) 03:48:08 ] VS2008のコンソールでスレッド使ったプログラムを作ってるんですが, 例外でデバッグが止まると時々,終了できなくなります. デバッグ→すべて中止でも止まらない,タスクマネージャのプロセスにも表示されない... プロセスIDを調べてPskillで指定しても終了できません. コンソールwindowは残ったままなんですが….おかげでwindowsごとリセットしていますが, 何か止める方法orこうならないための対策ありますか.
255 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 08:07:33 ] あ、俺も知りたい。 Windows自体再起動も終了も出来なくなるし、放置すると全体がフリーズしてすごく困る。
256 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 12:29:22 ] >>254 >>255 CTFMONってプロセスがあったらキルしてからデバッグして味噌
257 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 14:14:42 ] 翻訳お願いします。英語版できいたら分からないといわれました。 The problem here is that our template was instantiated for the type char, which turns out to be too by introducing an additional template parameter AccT の英文は 「この問題はテンプレートは文字型についてインスタンス化されたことのことです。」 コンマまではこの訳であってますよね。その後は, 「witchはまた追加パラメーターACCTの導入によるもでであることがはんめいした」 であってますよね? witchが指すものが前文に無いようにおもえて翻訳できません。 詳しく教えてください。
258 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 14:28:02 ] whichはproblemにかかってるんじゃねーの?
259 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 14:34:52 ] >>258 翻訳してください。
260 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 15:17:53 ] >>258 なら「この問題」
261 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 15:19:39 ] >>256 ありがと。今度なったら試してみる。
262 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 15:22:35 ] which turns out to be too がわからない。 この too は何だ?
263 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 15:23:18 ] tooは 最後につけるところを真ん中につけただけ。
264 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 15:24:18 ] >>263 じゃ、 be の補語は? exist の意味のbe?
265 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 15:25:10 ] which turns out to be (instantiated) too かなあ。
266 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 15:26:36 ] beの補語はby以下らしい。
267 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 15:30:55 ] 関係代名詞はbeの補語ではなくて主語になるらしい。
268 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 15:34:23 ] この問題は追加テンプレートパラメーターAccTの導入からも、 存在することがが明らかになる
269 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 15:37:29 ] まとめて訳すとこんな感じか? ここでの問題は、追加テンプレートAccTの導入からもわかるように、 我々のテンプレートが文字型についてインスタンス化されてることです。
270 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 15:40:13 ] ありがとうございました。
271 名前:デフォルトの名無しさん [2010/05/31(月) 17:22:57 ] 質問です。C++2008には #pragma ○○ ・・・ #pragma end○○ と書けば横の+、−でコードを格納できたと思いますが、 忘れてしまったので教えてもらえませんか?
272 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 17:58:12 ] region
273 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 10:42:15 ] staticってどういう時に使うの? なんでグローバル変数じゃなくて静的変数を使うの?
274 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 11:56:59 ] グローバル変数との比較だと static変数はスコープがソースコード単位になるから 他のソースコードと名前が重複しても大丈夫
275 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 12:06:55 ] Cにはnamespaceがないから。
276 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 14:15:29 ] staticって意味が幾つも有ったような
277 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 19:21:16 ] C#言語で言う#regionみたいなことがしたいのですが 何かいい方法はありませんか? 現在は #define COM 1 #ifdef COM ~折りたたみたい部分~ #endif といった使い方をしていますがスマートではなく、何かいい方法がないか探しています
278 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 19:25:24 ] 釣りかギャグかはたまたガチか それが問題だ
279 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 19:28:52 ] 初心者すれに行くべきでしたね すいません移動します
280 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 20:00:34 ] 数レス前に書いてあるだろw
281 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 20:55:03 ] あれだ 灯台下暗し
282 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 01:42:20 ] かなり初歩的な質問なのですが継承で 基本クラスのメンバ関数から派生クラスのデータメンバを変更するには どういった操作がありますでしょうか? 基本クラスのメンバ関数に派生クラスのオブジェクトのアドレスを 渡してみたりしたのですがコンパイルエラーで上手くいきませんでした。 よろしくお願いします。
283 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 02:40:09 ] 普通に仮想関数でいいと思うが。
284 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 07:44:39 ] そんな基本クラスが派生クラスの中身を知っているような設計は投げ捨てるかどうしてもというならCRTPを使いなさい
285 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 17:11:03 ] >>283 >>284 参考になりました。ありがとう!
286 名前:デフォルトの名無しさん [2010/06/02(水) 17:13:54 ] 1. 構造体のポインタ*tがある 2. 構造体の中にint型のポインタhogeがある 3. mallocを使って*tのメモリを確保 3. mallocを使ってhogeにint型x個分のメモリを確保 4. fwriteで構造体をファイルに書き込みたいが、二項目はどうやって指定すればいい?
287 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 17:18:28 ] fwrite(t, sizeof *t, 1, fp); 構造体のサイズが増えるわけでもないし。
288 名前:デフォルトの名無しさん [2010/06/02(水) 17:27:25 ] >>287 上手くいかん typedef struct test_t { int a,b,c,d,e; int *p; } test_t; test_t *t; t = (test_t *)malloc(sizeof(test_t)); t->p = (int *)malloc(sizeof(int)*60); printf("%d",sizeof(*t)); で、24って出る
289 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 17:31:01 ] >>286 fwrite(t, sizeof(int), x, fp); だろ ただし、 >1. 構造体のポインタ*tがある でなく、 >1. 構造体のポインタtがある であるならということ。3.も同様。 もし原文通りなら fwrite(*t, sizeof(int), x, fp); となる
290 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 17:32:28 ] >>288 pに確保した領域のサイズは構造体とは別。
291 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 17:32:45 ] trivially copyable classに展開してまとめて読み書きすればいいよ
292 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 17:34:55 ] >>288 構造体には他のメンバもあるのか。 それなら fwrite を2回する必要があるだろ。 fwrite(t, sizeof(test_t), 1, fp); fwrite(t->p, sizeof(int), x, fp);
293 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 17:42:39 ] >>290 知ってる。だから質問した >>292 それが一番スマートかな 構造体からpをそもそも切り離しとくってのも一つの手か thx
294 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 17:47:00 ] 知ってたら>>288 で24が出ても上手くいかんなんて言わないだろw
295 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 17:55:29 ] fwriteしたものを、そのままfreadしようっていう魂胆なの?
296 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 17:59:17 ] 定数じゃないならxもどっかに保存しとかないと読み込むとき困る。
297 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 18:13:15 ] 読み込みは t = malloc(sizeof *t) → fread(t) → t-> = malloc(int*x) -> fread(t->p) で。
298 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 18:39:27 ] 型変換を伴うコピーの時の参照カウンタのコピーをどうやってるのかと疑問に思って shared_ptrの中身を覗いてみたらpublicメンバだった こんなものなの
299 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 18:49:20 ] >>298 public でないと参照できないじゃん
300 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 18:54:47 ] >>299 まあそうなんですが boostのことだからもっと複雑怪奇な方法で回避してる物かと思ったのでw
301 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 19:25:24 ] template friend classにしないのはなんで?
302 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:51:31 ] codepad.org/1ZyOAlyL 上は、はじめてのCという本に乗っていたコードを 少し書き換えたもの(printfをcoutに、など)です 結果が3→2→1→0→1→2→3と表示される内、 行きの3→2→1→0は分かるのですが、 帰りの0→1→2→3の部分がどうしてそうなるのか、さっぱり分かりません tline(int x)に渡す引数を増加させる処理はないように見えるのですが、 どなたか教えていただけないでしょうか
303 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:54:41 ] 再帰関数で0以外は一つの関数で2回表示してるから。
304 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:00:50 ] recfunc(3)を呼び出す 3を表示する recfunc(2)を呼び出す 2を表示する recfunc(1)を呼び出す 1を表示する recfunc(0)を呼び出す 0を表示する recfunc(0)から抜ける 1を表示する recfunc(1)を抜ける 2を表示する recfunc(2)を抜ける 3を表示する recfunc(3)を抜ける
305 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:05:54 ] >>303 冷静になってみると仰る通り2回表示してますね ifの中身だけ見て、その下を見てませんでした ありがとうございます >>304 詳しい説明ありがとうございます 小一時間も考え込んでた自分が恥ずかしいです 低レベルな質問にも関わらずお答えいただき、お二方に感謝します ありがとうございました
306 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:48:07 ] >>301 どうもコンパイラにより対応状況がまちまちらしい boostのコードをみてみたら狡賢いコードになってたw public: /* 〜省略〜 */ #ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS private: template<class Y> friend class shared_ptr; template<class Y> friend class weak_ptr; #endif T * px; // contained pointer boost::detail::shared_count pn; // reference counter
307 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:51:08 ] ポインタp,qがあって参照剥がしして一致、あるいは、両方NULLならtrueにしたいときって↓でおけ? ((p && q) && (*p == *q)) || (p || q)