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/
175 名前:デフォルトの名無しさん [2010/05/24(月) 23:48:46 ] breakするかどうかは、nでは決まらないよね?
176 名前:デフォルトの名無しさん mailto:sage [2010/05/24(月) 23:50:19 ] >>166 JAVAのようには出来ないんですね どうもです。
177 名前:デフォルトの名無しさん [2010/05/24(月) 23:50:41 ] >>175 あっ!そういうことですか。ありがとうございました_ _
178 名前:デフォルトの名無しさん [2010/05/24(月) 23:51:19 ] >>172 _asm
179 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 02:34:49 ] >>172 お前がやりたい事は無理 そもそもレジスタを理解してないように見えるが
180 名前:172 mailto:sage [2010/05/25(火) 04:56:04 ] >>178-179 ありがとうございます 最近学び始めたばかりでして知らないことが多すぎたようです
181 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 05:41:35 ] registerなんてキーワードは忘れてしまってよろしい
182 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 10:51:56 ] なんでboostは動的デリータ付きのスコポを用意しなかったんですか?
183 名前:デフォルトの名無しさん [2010/05/25(火) 14:54:32 ] アメリカ人にとってのアルゴリズム辞典の定番の書籍って何がありますか?
184 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 17:01:59 ] AmericanCode第三版
185 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 17:21:26 ] 現実に存在する本でお願いします。
186 名前:デフォルトの名無しさん [2010/05/25(火) 18:16:33 ] www.amazon.co.jp/dp/0521701465/
187 名前:デフォルトの名無しさん [2010/05/25(火) 23:39:09 ] C言語であるメモリアドレスを引数経由で返すような関数を定義する場合 int hoge( void ** ); といった定義をしたのですが、 char *fuga; hoge( &fuga ); だと、ポインタの方が違うとワーニング hoge( (void**)&fuga ); だと、strict aliasingのワーニングになってしまいます。 void **という引数指定をするのはおかしな事なのでしょうか? int hoge( void * ); という定義にするとなんだか意図が異なる関数のような int hoge( char * ); とポインタの型を決めてしまうのも意図が異なるような ・・・というあたりで行き詰まっています。
188 名前:デフォルトの名無しさん [2010/05/26(水) 00:12:47 ] 4.9: 参照呼び出しに使うため汎用のポインターを関数に渡すのに、 void **を使うことができるか。 A: 移植性まで考れば不可能である。C言語には汎用のポインターへのポ インター型は存在しない。void *が汎用のポインターとして振る舞う のは、他の型のポインターをvoid *に設定したり参照するときに、 自動的に変換が行われるからである。void *以外の何かを指している void **を使って間接参照しようとすると、この変換は実行できない (隠れた正しいポインターの型がわからない)。
189 名前:デフォルトの名無しさん mailto:sage [2010/05/26(水) 00:13:25 ] .libファイルって作ったコンパイラ以外のコンパイラでも使えますか?
190 名前:デフォルトの名無しさん [2010/05/26(水) 00:25:20 ] 互換性があれば使えます。
191 名前:デフォルトの名無しさん mailto:sage [2010/05/26(水) 00:27:14 ] >>188 と、いうことは汎用性をあきらめて特定の型のポインタのポインタとするか ポインタは戻り値で返すように作るかしかないということでしょうか? それともほかに常套手段のようなものがありますか?
192 名前:デフォルトの名無しさん [2010/05/26(水) 00:28:45 ] void* hoge();
193 名前:デフォルトの名無しさん mailto:sage [2010/05/26(水) 00:44:05 ] 正直そこまで汎用性にこだわる理由が分からん
194 名前:デフォルトの名無しさん mailto:sage [2010/05/26(水) 00:44:42 ] 気にせず使え
195 名前:デフォルトの名無しさん mailto:sage [2010/05/26(水) 02:31:02 ] void *p; f((void**)&p); char *fuga = (char*)p; てのはどうよ?
196 名前:デフォルトの名無しさん mailto:sage [2010/05/26(水) 22:10:39 ] >>193 こだわるわけでもないですが いい方法があるなら知りたい使いたいというわけで ないのなら特に気にしないで適当に >>195 確かにその方法ならキャスト不要ですが わざわざそのためだけに別の変数を定義するのも・・・ って事で、気にしないことにします
197 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 00:02:35 ] template<class T, class U> T **pp_cast(U **pp) { return reinterpret_cast<T**>(pp); } char *p; f(pp_cast<void>(&p));
198 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 14:00:25 ] >>131 実は>>109 =>>122 なんだ 自分のミスを自分で突っ込んだだけなんだよ
199 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 15:31:44 ] typedef struct _CELL{ char as_status; int x; int y; int cost; int heuristic; int score; }CELL; void SetScoreBubbleSort(const CELL*& node, CELL*& list){ int cnt(0); // ソート開始 while( ( node->cost > list[cnt].cost ) && ( list[cnt].cost != 0 ) ){ cnt++; } list[cnt] = *node; }//続く
200 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 15:35:54 ] // 続き int main(void){ // ---上・省略--- // 床セルのデータ生成(newの二次元配列) CELL** cell_floor; int cnt(0); int cnt2(0); cell_floor = new CELL* [CellWidth]; for(cnt=0; cnt<CellWidth; cnt++){ cell_floor[cnt] = new CELL[CellLength]; // Astarソート用セルリスト生成(ポインタ型) CELL** open_list; open_list = new CELL*[(CellWidth * CellLength)]; // ---途中・省略--- SetScoreBubbleSort(cell_floor[x][y], open_list);//★ここでコンパイルエラー // ---途中・省略--- // 床セルのデータの削除(deleteの二次元配列) for(cnt2=0; cnt2<CellLength; cnt2++){ delete[] cell_floor[cnt2]; } delete[] cell_floor; // Astarソート用セルリスト削除 delete[] open_list; } ってやってるんだけど、コンパイルするとerror C2664: 'SetScoreBubbleSort' : 1 番目の引数を 'CELL' から 'const CELL *&' に変換できません。って出るんだけどどうしたらいい?
201 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 15:58:46 ] &はどっから出てきたんだよ
202 名前:199、200 mailto:sage [2010/05/27(木) 16:04:08 ] &はSetScoreBubbleSortの関数の引数にポインタを渡したいから使ったんだけどマズイかな?
203 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 16:48:54 ] ポインタ渡すなら&cell_floor[x][y]
204 名前:199、200 mailto:sage [2010/05/27(木) 16:55:58 ] >>203 配列の形式でそのまま渡せばポインタの先頭アドレスが入ると思って&はつけてなかったけどつけてコンパイルしてみた。 そしたら「error C2664: 'SetScoreBubbleSort' : 1 番目の引数を 'CELL *__w64 ' から 'const CELL *&' に変換できません。」になった。
205 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 17:21:21 ] ポインタ受け取る方は const CELL * で
206 名前:199、200 mailto:sage [2010/05/27(木) 17:33:00 ] >>205 ポインタ受け取る方の参照演算子&を除いて void SetScoreBubbleSort(const CELL* node, CELL* list)とし、 int main{}の中の部分は SetScoreBubbleSort(&cell_floor[x][y], *open_list); としたら一応、コンパイルエラーは取れた。 関数使うときにポインタ渡したいのに*つけるのは気が引けたけど、エラーになる。 関数が抜けたときにまともに値が反映されてるか禿げしく不安・・・。
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がないから。