- 1 名前:デフォルトの名無しさん [2009/07/19(日) 22:32:32 ]
- スレを勃てるまでもない低俗な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/
- 744 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 22:08:24 ]
- 下記の書についてです。
(1).ANSI C/C++辞典(ttp://www.amazon.co.jp/exec/obidos/ASIN/4320027973/) (2).新ANSI C言語辞典(ttp://www.amazon.co.jp/exec/obidos/ASIN/4774104329/) CだけでなくC++についても調べたいので(1)は買う予定でいます。 (2)は色々と評判に上がることが多いようなので迷ってるのですが、 ・ (2)は(1)と重複している部分が結構あったりするのでしょうか。 ・ (2)ではC++についてはまったく触れられていないのでしょうか。 ・ 両方とも割と昔の本ですが、仕様の変更などで現在と異なる点はあるのでしょうか。 ご存知の方がいましたら教えていただきたいです。
- 745 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 22:29:39 ]
- C++は1998と2003年に改正されてるけど1996年の本でいいの?
いいんだ。あ、そう。
- 746 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 22:54:35 ]
- 新のつかないほうのANSI C言語辞典を持っているけど、これは今でも使える。
まあ古い本なので、ワイド文字関係と誰も使っていないC99に関する事柄が抜け落ちているけど。 だから、新のほうもおそらくおすすめできると自分は思っている。 ANSI C/C++辞典は分からない。初版は図書館で見たことあるけど、これ3版だからノーコメント。 個人的には、C++の内容を辞典的に網羅するにはページ数が少なすぎるだろうというのが気掛かり。 そのアマゾンによれば590ページらしいが、C言語辞典ですら500ページ近くある。 (初版でもC言語辞典より小さな字で詰めて配置してあったとはいえ)
- 747 名前:744 mailto:sage [2009/09/03(木) 00:22:24 ]
- 情報ありがとうございます
最近の本も探してみたのですが、評価が芳しくないものやパッとしないものが多くて… 古い本なので逆に図書館にあるかも知れませんね 近所の図書館をあたってみて、もしあれば中身を確認してみようと思います
- 748 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 02:00:47 ]
- 今まで文字列の取り扱いは char * を使ってたのですが、そろそろ汎用性を考えたコードも
意識して書かないといけないかなとか思い始めてます。 ところがなんか TCHAR だの wchar_t だの LPTCSTR だのと色々とあって、どういう時に どれを使えばいいというのが判りません どういう考えで、どういう型を使うのが一般的なのでしょうか
- 749 名前:デフォルトの名無しさん [2009/09/03(木) 02:38:19 ]
- char*でおk。
- 750 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 02:47:38 ]
- 蒸し返すようだけどGET_SET_ACCESSORって要するに
「今は何もしない素通し処理にしておくけど、将来的に別の処理が入った時に クライアントコードの書き換えが必要になるとまずいからとりあえずアクセサ になってますよ」って意味じゃね? 必要になったら普通に書き直せばいいし、何もしてないです、ってのが一目で 分かるし、悪くないマクロだと思うが。 まぁ俺はマクロ嫌いだから極力使わないんで、これも使わないけど。
- 751 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 04:09:28 ]
- ・いつか処理が変わるかもしれないからアクセサは常に作るべき
・次のフェーズで変更されることが分かっているからアクセサを作るべき ・必要になってから作るべき という感じで意見がいつも割れるんだよ
- 752 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 04:24:39 ]
- ハイ!先生
「メンバは原則 public しといてゲッタセッタ必要になったら private に異動で十分」派です。
- 753 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 05:40:12 ]
- それ呼び出し側のコードが変わるじゃん
- 754 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 05:51:34 ]
- で?
- 755 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 05:54:39 ]
- >>752
それだとメンバ変数名を変えたくなっても変えられないな。 Get/Setでポリモーフィズムが使えないな。 >>750 単純な代入とかだったらGET_SET_ACCESSORでいいと思うし、 頑なに拒否する人を見て何が悪いのかと思ってたけど、 デバッガで見れないって言うのがね、ちょっと嫌かな。
- 756 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 06:26:37 ]
- そうやってアクセサとメンバ名の乖離が起こるわけですね。
ポリモーフィズムが使えないという点は全く理解できないので追加説明をしていただけると助かります。
- 757 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 06:46:09 ]
- >>753
変わって何か問題ある?
- 758 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 07:12:09 ]
- 別に問題ないよ
- 759 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 10:22:49 ]
- 書き換えるのが面倒
プロジェクト内の全ファイルから問題の箇所を一発で全部置換できるエディタを持ってるのなら気にする必要はない
- 760 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 12:47:14 ]
- wrproperty使ったほうがクライアントがすっきりうんこ
- 761 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:06:03 ]
- 汎用的なライブラリでそんな作業しようと思うとぞっとする。
変数書き換えのタイミングも追いづらいし。
- 762 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:10:09 ]
- a* [2]
a[0] = new b[2] これって可能?アクセス方法ってどうやるの?
- 763 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:31:20 ]
- 不可能
- 764 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 17:50:35 ]
- プラスとマイナスをひっくりかえす関数ってありますか?
例えば5なら-5に、-9なら9に変えてくれる関数です
- 765 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 17:55:16 ]
- 関数にするまでもない
a = -b; とかで十分
- 766 名前:764 mailto:sage [2009/09/03(木) 18:00:34 ]
- 本当だ、できました
ご親切にありがとうございました
- 767 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 19:31:38 ]
- 1.f←これってfloatとして扱うってことですよね?
いま呼んでいる本に double r = srcR * srcA + ( 1.f - srcA ) * dstR; というコードがあるんですが 「1.0」(double型)じゃなくて「1.f」(float型)をつかう意味ってありますか? srcR、srcA、dstR、はどれもdouble型です。
- 768 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 19:46:22 ]
- >>767 ありません。
- 769 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:02:16 ]
- もともと全部floatで書いていたコードを何かの理由でdoubleに直したときに
そこだけ修正し忘れた、とか
- 770 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:06:08 ]
- >>768-769
わざわざfloatにしてるから 何かしらメリットがあると思ったんですが 何もないんですね。 ありがとうございます。
- 771 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:19:58 ]
- >>767
何か勘違いしてそうだから念のためにいっておくと、 double の 1.0 は 1. と書くこともできる float の 1.0f は 1.f と書くこともできる
- 772 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:23:02 ]
- shared_ptrに確保されたインスタンスがあったとして
そいつのweak_ptrを返すメンバ関数とかってどうやって実装してるの?
- 773 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:26:22 ]
- >>756
変数がpublicだったらアクセサを経由した取得にならないからだろ。
- 774 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:58:14 ]
- >>771
0付けなくても良かったんですね ありがとうございます
- 775 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 21:13:34 ]
- >>772
shared_ptrとweak_ptrはインスタンスを直接保持するのではなく、インスタンスを管理するオブジェクトを経由して保持している。 weak_ptrは管理オブジェクトを参照すればインスタンスが有効かどうかが分かる。
- 776 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:08:14 ]
- wktk_ptr
kwsk_ptr sneg_ptr
- 777 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:08:39 ]
- いや、なんていうか
sp->getThisWeakPtr(); みたいなことしたいんですけど無理なんですかね?
- 778 名前:777 mailto:sage [2009/09/03(木) 22:46:10 ]
- あ、自己解決したわ
- 779 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 23:32:43 ]
- 使いたくもない敬語を無理に使ってるってことがよく分かる
- 780 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 02:37:31 ]
- ?
- 781 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 13:18:09 ]
- 1: char a[20];
2: char a[20]={0}; 3: char *a = new char[20]; これらのうちでは 動作が軽い順で言うとどうなりますでしょうか?
- 782 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 13:40:41 ]
- 1が最も軽く、3が恐らく最も重い
- 783 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 14:00:22 ]
- 3は
delete[]a;もセットで考えないといけない。
- 784 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 14:18:13 ]
- >>782
なるほど。 1と2では、 初期化する場合としない場合とでやはり速度差があるのですね。 >>783 ありがとうございます。そうすると3は重そうですね。 ありがとうございました。
- 785 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 14:20:44 ]
- 1.のコストは0なのだ。
- 786 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 15:20:48 ]
- C++のisoが定めた規格が
無償で(英語でもいいので)見られる サイトを教えていただけますでしょうか?
- 787 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 15:39:02 ]
- C++のqueueについてなんですが、
queueで作ったデータ列を配列みたいに見るってできないんでしょうか? front()で頭を見る以外の方法が分かりません…
- 788 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 16:00:37 ]
- >>787配列のように扱えないのがstd::queueのメリット。
配列のように使えるキューが欲しいならstd::dequeを使う。
- 789 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 16:02:12 ]
- >>786
iso 14882 2003 pdf - Google Search www.google.com/search?name=f&hl=en&q=iso+14882+2003+pdf
- 790 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 16:04:58 ]
- >786
C++についてはC言語ほど詳しいわけではないけど ドラフトなら無償で手に入れることができたはずだったんだけど、なんか本家死亡中? 規格書の正式名称をどうたらこうたらで手に入れることができる
- 791 名前:786 mailto:sage [2009/09/04(金) 16:08:13 ]
- >>789-790
丁寧にありがとうございました。 助かりました。
- 792 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 16:14:52 ]
- >>788
分かりました。どうもです
- 793 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 17:11:55 ]
- 全然別人ですが、
C99の規格は英語でいいのでどこかで手に入りませんか? ググろうにも何でググればいいのか悩みます。
- 794 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 17:17:06 ]
- JISの規格票じゃだめなのか?
- 795 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 17:34:38 ]
- JISの規格は閲覧するのにとても苦労するので。
(標準のpdfリーダがadobeじゃ無いためです。)
- 796 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 17:50:34 ]
- n1124.pdfとか
- 797 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 17:55:47 ]
- >796
それはC0x Draft, N1124, 6 May 2005だな
- 798 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 17:57:26 ]
- どの版がいいの
- 799 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 18:09:13 ]
- ええと、一番普遍的な版がいいのですが。
そんな最先端のプログラミング技法には深入りするつもりもないので。
- 800 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 18:27:02 ]
- テンプラメタプログラミングなんてやってなんか得したことあった?
- 801 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 18:41:44 ]
- 知的好奇心が満たされるw
- 802 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 18:49:15 ]
- >>800 似たような重複コードを書かなくてすむ用になる。
- 803 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 19:05:32 ]
- (プラシーボで)実行速度が速くなった
- 804 名前:デフォルトの名無しさん [2009/09/04(金) 19:48:32 ]
- C++でスレッドをやってみたら思いのほか簡単にできた。
それでも複数の値渡しはいちいち構造体を定義しないといけないなんてどうしてこんな回りくどいやり方でないといけないのか もっとすっきりしたやり方考えろよ
- 805 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 19:50:41 ]
- 自分で好きなように作ればいいじゃないか?
- 806 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 21:25:36 ]
- >>804
スレッド開始時の関数に引数を渡すときのことを言っているなら、boost::threadはどう? bindと組み合わせれば何引数でもいけるよ。 もちろん、それ以外のAPIでもbind使えるようにできるけど。
- 807 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 23:34:38 ]
- テンプレートメタプログラミングは定数のコレクションを生成するとき便利だよ。
その数が万単位になると劇的に速度が変わる。
- 808 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 23:37:14 ]
- テンプレートメタプログラミングは
天才がライブラリを作るときに便利だと思うよ。 凡人が挑戦すると死亡するだけ。
- 809 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 05:58:07 ]
- ちょっとやってみたけどコードがぐちょんぐちょんになった
- 810 名前:デフォルトの名無しさん [2009/09/05(土) 15:50:47 ]
- C言語における、ダブルクォートで囲んだ文字列と、
シングルクォートで囲んだ文字列は、どういう違いがあるのでしょうか? 明確に違って、ダブルクォートで囲んだほうは文字列の最後に何か追加されたような気がする、まではおぼえているのですが… どなたかご教授いただけませんでしょうか
- 811 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 15:52:34 ]
- >>810
シングルクォートで囲んだ文字列 の意味が分からん。 そんなもの存在しない。
- 812 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 15:56:35 ]
- >>811
ごめんなさい 文字列という言葉ではおかしかったかもしれません っていうか、シングルクォートで囲んだものは文字列ではなくて、文字、でしたっけ "aaa" == 'aaa' ではないことは覚えているのですが あえて "aaa"をあえてシングルクォートで囲んで表現したらどう表記するのでしょう、といった質問です
- 813 名前:811 mailto:sage [2009/09/05(土) 15:58:56 ]
- >>812
"aaa" -> 言語仕様として存在する 'aaa' -> 言語仕様として存在しない というこれ以上ないほどの違いがあるぞ。
- 814 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 15:59:51 ]
- つーか、どんなC使ってるのか知らんが、
'aaa' はCでは出来ないよ。
- 815 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 15:59:52 ]
- { 'a', 'a', 'a', '\0' }
こんな感じか?
- 816 名前:811 mailto:sage [2009/09/05(土) 16:01:13 ]
- それとも
"aaa" -> C/C++ではcharないしconst char型の配列型で、その数は4である。(終端にヌル文字が付く。) "a" -> C/C++ではcharないしconst char型の配列型で、その数は2である。(終端にヌル文字が付く。) 'a' -> const char型の文字型変数。 であることを言いたいのか?
- 817 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 16:01:55 ]
- char *p = malloc(3);
p[0] = p[1] = p[2] = 'a';
- 818 名前:810 mailto:sage [2009/09/05(土) 16:02:24 ]
- 過去ログを読み直していたらこんなコードにぶつかったので質問した次第です
文字とか文字列とかそういう問題で捉えたのがいけなかったんですかね 624 :デフォルトの名無しさん[sage]:2008/01/30(水) 00:58:29 #include <iostream> int main(void) { const int max_str = 50 + 1; char str1[max_str], str2[max_str]; std::cout << "数値a入力>"; std::cin >> str1; std::cout << "数値b入力>"; std::cin >> str2; int len1, len2; for( len1 = 0; len1 < max_str; ++len1 ){ if( str1[len1] == '\0' ) break; } for( len2 = 0; len2 < max_str; ++len2 ){ if( str2[len2] == '\0' ) break; }
- 819 名前:810 mailto:sage [2009/09/05(土) 16:05:44 ]
- >>816
ヌル文字! と 文字数! それです、私が思い出したかったと思われるキーワードはそれです! あとは自力で調べられそうです ありがとうございましたー
- 820 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 16:07:04 ]
- たぶんシングルクォートの文字列は
char foo[] = {'f', 'o', 'o', '\0'}; /* '\0'は'\000'または'\x00'などと同じnull character(JISではNULと表記される)を表す */ だと思う、シングルクォートは文字定数を表記するときによく使われる、そのほかの目的でも使うことはある ダブルクォートの例は char bar[] = "bar"; /* {"baz"};とかくこともできる */ char *baz = "baz"; ダブルクォートで囲んだ場合、文字列リテラル(文字列定数)と呼ばれる この場合、コンパイラは気を利かせてnull characterを付けてくれる したがって、sizeof(bar)は4となる しかしながら char hog[3] = "hog"; の場合、コンパイラは気を利かせてnull characterを追加しない、つまり char hog[] = {'h', 'o', 'g'}; /* char hog[3] でもよい*/ とした場合と同じ結果となる と長々書いているうちに解決していたでござるの巻
- 821 名前:810 mailto:sage [2009/09/05(土) 16:08:38 ]
- >>820
ありがとうありがとう 大感謝です
- 822 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 16:22:47 ]
- どうでもいいけど、
結局何を疑問に思っていてどう解決したのかさっぱりわからん。
- 823 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 16:30:04 ]
- 要はかなりのうろ覚えだからどう検索すりゃいいのかも分からなかったんだろ。
- 824 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 17:20:19 ]
- >>820
char *baz の sizeof は勘違いしたらいかんよ。
- 825 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 17:28:41 ]
- >824
例が悪かったか ほとんどの環境ではsizeof(char *)も4だったね
- 826 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 17:33:44 ]
- 記号関係で検索しようと思ったら確かに詰むわな。どうにかならんかな。
- 827 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 17:46:40 ]
- >>825
例えが悪いっていうか、同列に並べたら混同しちゃうだろw char bar[] = "bar"; とchar *baz = "baz"; じゃ意味が全然違うのに。
- 828 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 17:49:24 ]
- >>813-814
いや、'aaa'のように中に文字が複数ある場合、その値は処理系定義。 仕様にないとかできないとかはちょっと言い過ぎだと思う。 まあ、実際問題使わないからそういう認識でも構わないと俺も思うけどさ。
- 829 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 17:52:12 ]
- シングルクォートの中には文字が一つのはずと理解していたのに
'\0'をみて、まるで2つの文字からなる文字列が入っていると勘違いしたんじゃないのだろうか。
- 830 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 17:56:07 ]
- VC++は'aa'と二つはできたな。
三つ以上は試したことがない。
- 831 名前:デフォルトの名無しさん [2009/09/05(土) 17:59:36 ]
- >>828
マジックナンバー表すのによく使われる。3文字は見たこと無いけど。
- 832 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 18:01:31 ]
- >>831
ちょっとマジックナンバーについて簡単に説明してもらえますか?
- 833 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 18:06:18 ]
- VC++ならchar c = '??/n';とかできるな
- 834 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 19:57:38 ]
- 問題を整理しよう。
・>833はトライグラフ。 ・シングルクォートで囲える文字数は(トライグラフやエスケープ文字を処理した後の)4文字程度(環境依存)。 ・その場合のエンディアンも環境依存。 ということで宜しいかと。 で、例えばint foo = 'abcd'としてprintf("%d\n", foo)としたときの出力が、所謂マジックナンバー。
- 835 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 20:06:54 ]
- 多文字リテラルはC90でもあるだろうに
- 836 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 21:49:37 ]
- なんだかんだいって、もう本人は解決しちゃったんだろうぜ。
- 837 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 22:10:10 ]
- >>834
もう一度聞くけど、マジックナンバーについて簡単に説明してもらえますか? どうも一般的に使われているものと異なるように思うので。
- 838 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 22:25:51 ]
- やだね、こういう言いたいことを裏に覗かせつつ質問する馬鹿って。
>>837 マジックナンバーと呼ばれるものには私の知る限り3種類ある。 ・野球のマジックナンバー。詳細は知らん。 ・コード中に埋め込まれた由来不明の値。何故その数字か判らんが兎に角動くと言う皮肉を込めて、マジックナンバーと呼ぶ。 ・主にバイナリファイルの先頭に置いて、ファイルの種別を明示するために使われるバイト列。或いはそれを数値化したもの。 Unix使いなら/usr/share/file/magic辺りにあるから覗いてみるといい。
- 839 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 22:29:20 ]
- 馬鹿とまで言われるとは思っていませんでした。
> ・コード中に埋め込まれた由来不明の値。何故その数字か判らんが兎に角動くと言う皮肉を込めて、マジックナンバーと呼ぶ。 僕もこれだと思っていたのですが、>>834さんは出力がマジックナンバーといっているので、 いったいどういう事だろうかと思ったんです。
- 840 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 22:33:47 ]
- 質問しただけで荒れるってジャスティスののか
- 841 名前:デフォルトの名無しさん [2009/09/05(土) 22:34:25 ]
- >>837
en.wikipedia.org/wiki/Magic_number_(programming) まぁファイルフォーマットとかを直接触らない人には関係ないかもね。
- 842 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 22:40:05 ]
- >>841
・an unnamed or ill-documented numerical constant value; これを言いたそうな気配はするんだが、なんか違った意味で使ってるよな そりゃ質問もされるだろうよ
- 843 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 22:52:03 ]
- 元素か
- 844 名前:デフォルトの名無しさん [2009/09/05(土) 23:05:49 ]
- Linuxでは出力もマジックナンバーと呼ぶんだけどな。
ドザは頭が悪くて困る。
|

|