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/
449 名前:デフォルトの名無しさん [2010/06/06(日) 12:13:04 ] >>447 int *a; int pa; int asteriska; int XXX; これらの表記では、*a も pa も asteriska も XXX もすべて int型として扱える。 int の後ろに書いたものが、int型になる。 つまり、aの参照剥がしは*aと直感的に分かる。 *int p; この表記では、pがint型へのポインタということが分かるのかもしれないが、 pをどう参照剥がしすればint型になるのかこの書式からは分からない。 以上の点で、前者の表記のほうが分かりやすいと考えられる。
450 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 12:19:44 ] >>449 ならば、int *a;で変数の領域が確保されなきゃおかしいじゃん。
451 名前:デフォルトの名無しさん [2010/06/06(日) 12:20:51 ] ああ、そうだね。
452 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 12:24:03 ] じゃあ int &a; は &a が int なんだね
453 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 12:38:21 ] int *a = XXX の右側に来るのがポインタ値って時点で全く直感的じゃない
454 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 13:07:06 ] >>280 遅れましたがありがとうございました
455 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 13:08:47 ] int *a; のメリットは int *a, *b; とするのを確実に忘れないという一点のみなのに *a が int だとよく分かる(キリッ とか言うから面倒なことになる
456 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 13:10:25 ] なるほど
457 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 13:10:52 ] int* const a = XXX; とやりたい時はどうするの?
458 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 13:14:58 ] それでいいんじゃないの
459 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 13:15:50 ] int *const a = XXX, *const b = YYY;
460 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 13:20:47 ] 直感に頼るからいけない 俺は左から型に演算していくと理解してる int const * const & a; (((((int) const) *) const) &) a; intをconstにして、そのポインタ型をとって、それをconstにして、その参照型をとって、それにaという名前をつける add_ref<add_const<add_ptr<add_const<int>::type>::type>::type>::type a;
461 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 13:44:31 ] >>460 こんなに深い宣言なんだぞ。キリッ
462 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 13:49:35 ] そこへ配列宣言が颯爽と登場。
463 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 14:14:17 ] メンバ関数ポインタへの配列があらわれた!
464 名前:デフォルトの名無しさん [2010/06/06(日) 14:19:24 ] >>452-463 つまり、C/C++の構文はダメダメってことだね。
465 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 14:22:54 ] 別に
466 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 14:37:03 ] identityとtypedefがあればすべて解決
467 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 22:37:11 ] 構文と言うか文法と言うか、とにかくそっち方面で残念な言語だとは思う
468 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 20:20:00 ] すみません。 現在1クラス1ヘッダ&1ソース という形で30対のヘッダーとクラスがずらっと並んでいます。 他の方のプロジェクトを見るとヘッダの数だけがやたら多かったり、 逆にヘッダは1個しかなかったりする様なのですが、 1クラス1ヘッダ&1ソース というのは無駄で変なのでしょうか? 新クラスを作るたびに宣言程度のヘッダーを増やすのはやめて、 クラスの宣言程度のヘッダーはギッシリ纏めてしまったりした方が良いのでしょうか。
469 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 20:28:41 ] boostなんてファイルのモンスターハウスだぜ
470 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 20:30:04 ] ↑ ×30対のヘッダーとクラスがずらっと ○30対のヘッダーとソースがずらっと(訂正すみません)
471 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 20:37:11 ] >>468 原則分けたほうがいいよ
472 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 21:57:34 ] 1クラス1ヘッダ&1ソースでいいだろ
473 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 00:48:47 ] Javaじゃないんだから、1クラス1ソースに拘ることはないだろ。 まぁ、関連のないクラスを纏めるのは論外だが。 インクルードファイルに関しては、ソースの数だけあっても全くおかしくはないと思う。
474 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 12:19:37 ] >>468 業務開発なら珍しくない メンテ時には、ひとつのファイルに詰め込むより こっちのが良いことが多い
475 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 13:25:51 ] C++のdelete[]の挙動について質問です。 int* p = new int[5]; int* q = new int[10]; int* z=p;p=q;q=z; //ポインタの交換 delete[] p; //どこまで開放されるのか? delete[] q; //どこまで開放されるのか? これ、メモリリークが起きたり、 逆に、開放しちゃいけない場所まで 開放されたりしないでしょうか?
476 名前:468 mailto:sage [2010/06/09(水) 13:31:07 ] >>469 >>472-474 間違ってはなかったのですね。ありがとうございます。疑問が解決しました。
477 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 13:50:54 ] p[-1], q[-1] あたりにサイズが入ってるから大丈夫
478 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 14:54:43 ] >>475 それはない 配列newは自分で確保したサイズを覚えているので アドレスさえ渡せば配列deleteは間違えない
479 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 15:08:14 ] >>477-478 安心しました。 ありがとうございました。
480 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 16:12:40 ] p[-6], q[-6] にサイズ入ってた codepad.org/8mjF6LOr
481 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 16:20:39 ] なんでだろうね20byteも間に挟むなんて勿体無い
482 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 16:32:30 ] フリーリストとかブロックサイズとかハウスキーピングに必要な情報はいっぱいあるだろうさ。
483 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 16:56:52 ] >476 入れてもらえなかった471涙目www
484 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 19:11:24 ] サイズの情報があるのにプログラマからは使えないというのは理不尽な気がする
485 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 20:53:46 ] プログラマがnewにサイズ渡してんだから要らんでしょという考え
486 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 21:26:43 ] 数バイト確保するより数キロバイトとか多めにとる方が一回の処理時間は大きいの?
487 名前:デフォルトの名無しさん [2010/06/09(水) 21:28:48 ] 大きくないよ
488 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 01:48:00 ] >> ずっと前の人 ctfmonをkillっても駄目ダタ やっぱりコンソールが閉じない&killできない。 激オソ報告スマソ
489 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 08:59:00 ] デフォコンのみ、constメソッドのみ つまり状態が1つで変化しないクラスのオブジェクトを何個も作るのは勿体無いと思うんだけど これを共有する自然なコードってどう書く?シングルトンかな?
490 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 09:02:33 ] >>480 環境依存の事を書いても仕方がない BCCだとp[-4], q[-4]にサイズが入ってるぞ
491 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 09:10:14 ] 別に>>480 は単なる例であって、どんな環境でもそうだとは言ってないだろ
492 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 09:12:47 ] 環境依存のスレは別にあるんだからこのスレで書くな
493 名前:デフォルトの名無しさん [2010/06/10(木) 09:21:50 ] return 0;は0に返すという意味って大雑把な意味はわかるんですが、 例えば関数 keisan()があったとして return keisan();ってのは同じようにkeisan()に返すって意味ですか? returunの概念がいまいちよくわからんのですが・・
494 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 09:23:54 ] returnは返す。 keisan()はkeisan関数を呼び出して、その値。 つまり、return keisan()はkeisan関数を呼び出して、その値を返す。 以上
495 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 09:24:33 ] あー、そもそもreturn 0は0「を」(呼び出し元に)返すだからね。
496 名前:デフォルトの名無しさん [2010/06/10(木) 09:30:21 ] >>494 なるほど、わかりやすい 別にreturn使わなくても int main(void) { keisan(); } だけで呼び出せるけどどういうことでしょう?
497 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 09:31:36 ] 意味が違うし、色々と説明したいのは山々だが時間がないので後続に期待w
498 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 09:34:26 ] Pascal ならfunctionとprocedureってしっかり分かれているから 理解しやすいのだが、C言語はごちゃ混ぜに出来るし、戻り値を 捨ててしまえるというエレガント(?)な設計になっているため初心者が ここで混同しやすい
499 名前:デフォルトの名無しさん [2010/06/10(木) 09:39:12 ] >>497 そこをなんとか・・
500 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 09:43:26 ] >>499 たとえばkeisan()の戻り値型がdoubleだとすると double a; ... a = keisan(); return a; と return keisan(); は同じような意味になる 要するにこの関数は値を返すか返さないかの違いだけ
501 名前:デフォルトの名無しさん [2010/06/10(木) 09:50:42 ] >>500 関数ってのは返すのが当たり前じゃないんですか?
502 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 09:53:57 ] >>501 そんな事はない void kansuu(void); のように戻り値の所にvoidと書いた関数は値を返さない 返そうとするとコンパイルエラーになる
503 名前:デフォルトの名無しさん [2010/06/10(木) 09:55:47 ] プログラムの中でreturn使ってないのはいいの? 正しいプログラムなの?
504 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 10:01:36 ] >>503 戻り型があるのにreturnを使わないと大抵のコンパイラでは警告が出る 正しいとは言えないが、戻り値を使わないプログラムだとそのまま動いて しまう事がある
505 名前:480 mailto:sage [2010/06/10(木) 10:11:11 ] >>490 うちのbccだとp[-1],q[-1]だったけど >>492 らじゃ
506 名前:デフォルトの名無しさん [2010/06/10(木) 10:27:22 ] >>504 #include<stdio.h> int main(void){ int a; scanf("%d",&a); printf("%d\n",a); } エラーでないけどなwreturn使ったほうがいいのかこんな簡単なもんでも。
507 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 10:35:04 ] >>506 誰もエラーが出るとは書いてないだろアホ 「警告が出るコンパイラが多い」と書いたんだよ日本語わかる?
508 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 10:43:52 ] mainはエラーでないが他だとVCではエラー出る voidなら不問
509 名前:デフォルトの名無しさん [2010/06/10(木) 10:45:37 ] >>506 はreturn使う必要どこにあるの?ないと思うが。 複雑なプログラムだけだろ。
510 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 11:41:18 ] >>506 だまって0を返しとけ。
511 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 11:50:52 ] 取り敢えずvoid main()と書く奴はCを使う資格ないな WindowsのGUIならvoid main()でもいいが
512 名前:デフォルトの名無しさん mailto:void main() (笑) [2010/06/10(木) 12:33:58 ] >>511 その根拠は?
513 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:51:49 ] またかよおめーら
514 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:53:12 ] >>512 根拠は俺様だ LinuxなどのUNIX環境でvoid main()などあり得ない シェルが実行ファイルの戻り値をほとんど使う
515 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:54:30 ] それだけじゃなくてWindowsでもコマンドプロンプトからバッチファイルで 使う場合は戻り値を使う その時にvoid main()じゃ戻り値が不定値になってしまうだろうが
516 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 13:12:47 ] 1がエラーとか0が成功とかの規定なんて無いだろ。 0が成功かもしれないし1がエラーかも知れないし、 それ以外の情報を戻り値が教えてくれるかもしれない。 だから何も返さない方が一般性が高いと思う。
517 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 13:18:43 ] はいはい 勝手に言ってろ
518 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 13:21:41 ] >>516 www.opengroup.org/onlinepubs/000095399/functions/exit.html ちゃんと規定されてる
519 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 13:29:29 ] >>516 Cのstdlib.hににEXIT_SUCCESSとEXIT_FAILUREというマクロが 定義されているのは何のためだと思う? 無知にも程がある
520 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 13:35:46 ] マクロというのはC言語の中でしか通用しないから OSからみたら1か0にしか見えないの。 もし、プログラムが成功や失敗ではなくて 計算の結果を返して、その答えが1か0だった場合どうするの? だから規定なんて無い。
521 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 13:37:53 ] >>520 >>518 が読めないのか?もしかして英語音痴か
522 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 13:38:56 ] だいたいC言語のマクロというのはUNIXの総合環境の中で培われて きたものだ だからC言語の中でしか通用しないという言い訳はおかしい
523 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 13:56:41 ] OSから見たらそのプログラムがCで作られたかJavaで作られたか GCCでつくれたかどうかも分からない。 だから規定なんて無い。
524 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:08:06 ] >>523 お前も頑固なやっちゃなー そんな固い頭でプログラマで食って行けてるの?
525 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:10:09 ] 下っ端プログラマーでは食っていけないけど SEとしては食っていけるよ。
526 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:10:50 ] 嘘付け ニートの癖に良く言うよ
527 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:11:23 ] C ->ネイティブ吐く Java ->仮想マシン上 GCC ->そもそも言語じゃない これらを一緒くたにして語ってる時点でもうね……
528 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:12:03 ] と言うより、そんなに意地っ張りだからニートから抜け出せないんだと言っておくか 世の中を渡って行くには柔軟な頭脳は欠かせない >>523 のようなカチコチ馬鹿は家の中に引き籠もっているしかない
529 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:15:10 ] 結局何を書いても引きこもりにされるわ(ry
530 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:17:56 ] いや実際>>523 は引き籠もりだろ 言ってる事がSEにしてはおかしいもん
531 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 16:50:34 ] MS-DOSでは0が正常終了
532 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 17:27:14 ] >>519 exit()のためじゃないの? main関数で使う物ってどこで定められてんの?
533 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 17:38:14 ] みんな、そんなにマルチプラットフォームなプログラムを書いてるの?
534 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 21:15:10 ] 質問。MFCではなくWinSDK使って書く場合 case WM_CREATE: g_Cls.init( ); break; case WM_PAINT: g_Cls.paint( ); break; と書くのは、オブジェクト指向では無いよね? でも、プロシージャ等の一式をクラスに纏めるのも微妙だけど、どういう書き方綺麗かな?
535 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 21:15:57 ] exitのエラーは-1じゃね?
536 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 21:58:53 ] >>535 俺の知る限りの環境では0以外全部エラーだお
537 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 22:53:11 ] >>492 ん? >>480 は単なる一例であって、特に環境依存の話ではないが?
538 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 23:07:19 ] 次のようなコードで::max<int>()でも::max<d>()でも実体化出来るようにしたいのですがどう直せばいいでしょうか。 #include <algorithm> template<typename T> class c{ /* 省略 */ }; template<typename T> c<T> max(const c<T>& a, const c<T>& b) { return std::max(a, b); } class d { /* 省略 */ }; namespace std { d max(const d&, const d&) { /* 省略 */ } } ::max<int>()は一例で、要するに何でも受け付けるようにしたいという意味です。 ここで実現したい制限がいくつかあります: 1. 値が変化するためstd::max(const d&, const d&)の戻り値はconst d&に出来ない。つまりalgorithmのstd::max()を特殊化出来ない。 2. std::max(const d&, const d&)が宣言されない場合があるため、::max<T>()はstd::max(const d&, const d&)の存在を知らなくてもいいようにしたい。 当然その時はコード中に::max<d>()を実体化するようなコードは無い。 またそもそも論として、 1. ::max<int>()でも::max<d>()でも実体化できるようにする際に::max<T>()の中で呼び出すべきなのはstd::max()なのか。 2. d max(const d&, const d&)の宣言場所はstdの中でいいのか。 といった疑問があります。
539 名前:538 mailto:sage [2010/06/10(木) 23:23:02 ] 実際に試せるコードの方がいいですね。 #include <algorithm> template<typename T> struct c { T v; }; template<typename T> c<T> max(const c<T>& a, const c<T>& b) { c<T> r = {std::max(a.v, b.v)}; return r; } struct d { int v; }; namespace std { d max(const d& a, const d& b) { d r = {a.v+b.v}; return r; } } int main(int a, char** v) { c<int> ci; c<d> cd; max(ci, ci); max(cd, cd); } ::max<T>()をstd::max(const d&, const d&)より後に宣言すればコンパイルできるのですが、 出来ればstd::max(const d&, const d&)はどこに現れても(現れなくても)コンパイルできるようにしたいです。
540 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 23:26:11 ] stdに変なもん入れんなよ
541 名前:538 mailto:sage [2010/06/10(木) 23:29:02 ] >>540 やっぱり入れないほうがいいですよね。 stdに入れないで::max<int>()と::max<d>()を両立するにはどうしたらいいでしょうか。
542 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 23:42:05 ] >値が変化するためstd::max(const d&, const d&)の戻り値はconst d&に出来ない とはなんのことを言ってるのか、さっぱりわからない
543 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 00:48:53 ] >>538 ttp://codepad.org/8Dcr8Nbk テンプレートの特殊化ではいかんのか? SFINAEやりたいが部分特殊化できないという話なら boost::enable_if 使え。
544 名前:538 mailto:sage [2010/06/11(金) 00:56:43 ] >>542 示したのは意味のない例ですが、例ではmaxの中でa+bってやってますよね。 だからconst d&を返すことが出来ないんです。 >>543 ありがとうございます! 時を同じく丁度自前template maxの定義を思いついたところでした。 std::maxを特殊化しようとしないで自分で新たにtemplate maxを作って、それを特殊化しちゃえば良かったんですよね。
545 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 01:34:58 ] 初歩的な質問で恐縮なんですが継承を行うと 基本クラスのデータメンバは派生クラスにも同じように データメンバが作られるのでしょうか? また基本クラスのデータメンバをprotectedにして publicで継承したとき,派生クラスは基本クラスのデータメンバに アクセス,変更が出来るという認識でよろしいでしょうか?
546 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 01:36:08 ] C++&DirectX(dxlib)でゲーム作ってるんだけど、ムービーシーンにFlashムービーで作った物を使いたい(楽なので) 何か方法ある?
547 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 01:44:05 ] >>546 ieコンポ使えばいいよ
548 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 01:46:31 ] >>546 ついでにゲームの核もFlashで作っちゃえばいいのにw
549 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 01:53:02 ] >>547 ググったけどよく分からなかった というかなんか周りくどくない? >>548 AS3でも遅すぎて話にならん