1 名前:デフォルトの名無しさん [2008/02/11(月) 19:44:11 ] 質問する前にGoogleで検索しましょう。www.google.co.jp プログラム・ソフトの使い方はPC初心者板やソフトウェア板へ。 ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。 JavascriptはWeb制作板、CGIはWebプログラミング板へ。 業界談義、愚痴はプログラマ板へどうぞ。 ゲーム関係の話題はゲーム製作板へどうぞ。 前スレ スレ立てるまでもない質問はここで 88匹目 pc11.2ch.net/test/read.cgi/tech/1200057632/
40 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 00:45:07 ] >>38 少なくとも、「アドレスを格納するバッファ」では説明が足りてないな。 つーか、わかってないなら他人任せにせず勉強してきたら?
41 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 00:46:05 ] >>39 ほほぉ、変数以外のもののアドレスを記憶するとポインタじゃなくなるのか。
42 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 00:48:58 ] だから、>39は地雷だから読んじゃダメだってば。
43 名前:デフォルトの名無しさん [2008/02/15(金) 00:49:05 ] >>41 いまさらあげ足取り?w 31のどこがどう間違ってるのか説明してみなよw
44 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 00:49:57 ] >>31 文字列をやり取りするときchar**をやりとりするか? 単にchar*やconst char*をやり取りするだろ。 FILE**ではなくFILE*を使うことも、それと同じようなもの。
45 名前:デフォルトの名無しさん [2008/02/15(金) 00:50:02 ] >>40 >つーか、わかってないなら他人任せにせず勉強してきたら? つーか、説明できないなら噛み付くなよw
46 名前:19 mailto:sage [2008/02/15(金) 00:50:34 ] みんな俺のことで喧嘩しないで!!!
47 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 00:52:07 ] 喧嘩も何も、判ってないのに教えたがりな>31が一人で暴れているんだろ。
48 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 00:52:41 ] >>19 20の指摘する通り*FILEが意味不明。K&Rスタイルでもないし。 やるならvoid function(FILE *f)のような書き方のはず。 関数宣言の書き方の復習しよう。 以上で用済み。
49 名前:デフォルトの名無しさん [2008/02/15(金) 00:53:07 ] >>44 は? そんなの使い方によるよw char **を使うことだってあるっての。 ってか文字列は配列だから、char*に文字列のアドレスを渡すのと、 FILE*を扱うのとは違うわですが? ポインタっての全然わかってないみたいだな。
50 名前:19 mailto:sage [2008/02/15(金) 00:53:23 ] FILEディスクリプタを扱うポインタは他のポインタと比べて少々特殊である。でOK?
51 名前:19 mailto:sage [2008/02/15(金) 00:53:53 ] >>48 ただのタイプミスです(><)
52 名前:デフォルトの名無しさん [2008/02/15(金) 00:55:23 ] >>47 説明できもしないやつが暴れてるんだろw 間違ってるなら間違ってるで指摘すりゃいいだけの話。 指摘もできない説明もできないのに「おまえわかってない」とかいわれてもねぇw
53 名前:デフォルトの名無しさん [2008/02/15(金) 00:55:47 ] >>50 特殊じゃなくて普通のポインタといっしょだっての。
54 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 00:57:26 ] >>49 もちろんFILE**を使う場合もある。それはどんなときかと言えば24に書いたとおり。 実用性0だけど例えばこんな感じ。 void my_fopen(FILE **f, char const *file, char const *mode) { *f = fopen(file, mode); }
55 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 00:58:58 ] >>50 ポイント先が明示的に存在していない可能性があると言う点で、FILE * は特殊。 ポインタ変数のことをバッファなんて言い方してしまっている>31にとってはどうかしらないけれど。
56 名前:19 mailto:sage [2008/02/15(金) 00:59:06 ] >>53 一緒なの? ・ ・ FILE *fp; fp=fopen("honya", "r"); function(fp); ・ ・ function(FILE *fp) { ・ ・ } main内と関数内でfpを表示した場合は一緒だったけど、*fpの値は10進で160違ってた・・・
57 名前:デフォルトの名無しさん [2008/02/15(金) 01:00:01 ] たとえば一番よく使う文字列を例えるなら、 FILE *fp[10]; fp[0] = fopen; と使うなら、 function(fp) ----- function(FILE *fp) { fp や (fp+0) や (fp+1) って使い方ができる。 } charポインタしか使ったことない奴はポインタのこと理解できてないんだよ。
58 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 01:01:41 ] >>56 FILE*をデリファレンスしてはいけません。 そこにファイルはありません。 眠ってなんかいません。
59 名前:デフォルトの名無しさん [2008/02/15(金) 01:02:23 ] >>54 だから、fopenは上位関数でやってるだろっての。 普通に>>19 のコードを見れば、 functionをフープ内で何度も使うコードだと思わないか? 上位関数でfopen/fcloseして、readを下位関数でやるんだろ。 おまえ、ループ内で下位関数にファイル操作させたことないのか?
60 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 01:02:29 ] >>57 できない。Cならたぶんコンパイラ警告、C++なら絶対コンパイルエラー。
61 名前:デフォルトの名無しさん [2008/02/15(金) 01:04:35 ] >>60 やってみろw
62 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 01:05:04 ] >>59 落ち着け。顔が真っ赤だぞ。 落ち着いたら、rとfの打ち間違いに注意するんだ。
63 名前:デフォルトの名無しさん [2008/02/15(金) 01:05:55 ] あ、もしかしてまた揚げ足とりか。 function(FILE *fp) { fp や *(fp+0) や *(fp+1) って使い方ができる。 }
64 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 01:07:40 ] いいえ。
65 名前:デフォルトの名無しさん [2008/02/15(金) 01:08:09 ] >>19 もういいから、まだいるなら騙されたと思って>>21 のコードで試してみな。
66 名前:19 mailto:sage [2008/02/15(金) 01:10:03 ] はーい
67 名前:54 mailto:sage [2008/02/15(金) 01:13:45 ] >>61 >>>63 function(fp)と呼び出す部分で、型が合わないのでエラーや警告になるはずだ。 実引数はFILE *[10](FILE**への変換前)、仮引数はFILE*。 functionの仮引数のfpはFILE *fp[]やFILE **fpならいい。 この用法でのFILE**は忘れていた、すまん。
68 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 01:16:24 ] そもそも、>19は一体全体どんなコードを実行してどうだったと言いたいんだ? 中途半端なコードを載せるから>31が嬉嬉としてごみを垂れ流す羽目になるんだ。
69 名前:デフォルトの名無しさん [2008/02/15(金) 01:17:08 ] ちょっと長いんですが、プログラムに詳しく分かる方いましたらお力貸してくださいまし。。 以下に掲げたおこずかい帳プログラムの説明を書きなさい。ただし、書き方は次の例 を参考にすること。 <form name=f> <input type=text name=i value=""> <input type=button value="偶奇判定" onClick="check()"> </form> <script> function chech(){ var a=Number(document.f.i.value); a=a+1; if(evenp(a)) alert("偶数"); else alert("奇数"); } function evenp(a){return a%2==0} </script>
70 名前:デフォルトの名無しさん [2008/02/15(金) 01:17:40 ] つづき 【説明例】 formタグとinputタグによって、画面にテキスト文字表示窓と偶奇判定用のボタンを 表示。この際、ボタンをクリックした時、関数check()を呼び出すように設定する。 関数checkは、テキスト文字窓から入力された値(document.f.i.value)を関数Number によって数値に変換し、これを変数aに代入する。ついで、aの値を1増やし、関数 evenpによって変数aの値が偶数か、奇数か判別し、偶数の時は"偶数"、奇数の時は" 奇数"とalertウィンドウに表示する。 関数evenpは、与えられた値(a)が偶数かどうか判別(aを2で割った余りが0かどうかで 判定)し、結果(trueかfalse)を返す。 ------------------------
71 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 01:18:39 ] 抽象化して考えろよ・・・なんのために不完全型になってるんだよ
72 名前:つづき [2008/02/15(金) 01:18:40 ] <h3>おこずかい帳</h3> <form name=kozukai> 品物<input type=text value="" name=sinamono> 値段<input type=text value="" name=nedan> <input type=button value="記録" onClick="kiroku()"> <input type=button value="並び替え" onClick="sort()"> <input type=button value="修正" onClick="teisei()"> <input type=button value="削除" onClick="sakujo()"> </form> <div id="area"></div> <script> var Table=new Array(); // {good: price:} var count=0; // 登録される品物の個数 function kiroku(){ var good=document.kozukai.sinamono, price=document.kozukai.nedan, pos; if((pos=aruQ(good.value))==-1){ Table[count]={good: good.value, price: Number(price.value)}; count=count+1; } else{ Table[pos].price=Table[pos].price+Number(price.value); } good.value=""; price.value=""; display(); }
73 名前:デフォルトの名無しさん [2008/02/15(金) 01:19:25 ] <h3>おこずかい帳</h3> <form name=kozukai> 品物<input type=text value="" name=sinamono> 値段<input type=text value="" name=nedan> <input type=button value="記録" onClick="kiroku()"> <input type=button value="並び替え" onClick="sort()"> <input type=button value="修正" onClick="teisei()"> <input type=button value="削除" onClick="sakujo()"> </form> <div id="area"></div> <script> var Table=new Array(); // {good: price:} var count=0; // 登録される品物の個数 function kiroku(){ var good=document.kozukai.sinamono, price=document.kozukai.nedan, pos; if((pos=aruQ(good.value))==-1){ Table[count]={good: good.value, price: Number(price.value)}; count=count+1; } else{ Table[pos].price=Table[pos].price+Number(price.value); } good.value=""; price.value=""; display(); }
74 名前:デフォルトの名無しさん [2008/02/15(金) 01:20:23 ] function aruQ(g){ var i; for(i=0; i<Table.length; i=i+1){ if(g==Table[i].good) return i; } return -1; } function sort(){ bsort(Table, lessp); display(); } function bsort(a,cmp){ var i,j,x,size=a.length; for (i=0; i < size; i=i+1){ for (j=size-1; j > i; j=j-1){ if (cmp(a[j],a[j-1])){ x = a[j-1];a[j-1] = a[j]; a[j] = x; } } }} function lessp(a,b){return a.price<b.price; } </script> わかる方教えてください。。
75 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 01:20:41 ] >>69 ・formタグにおいて、アクションが指定されていません。 ・scriptタグにおいて、処理系の宣言がされていません。 ・inputタグにおいて、関数check()が見つかりません。 つーか、鼬害だろ。
76 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 01:27:40 ] VB.NET2003のフリーソフトを探してるんだが、もう無いのかな? 2003 Express editionみたいなのがあれば嬉しいんだが。
77 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 01:34:11 ] 76だけど、俺の言葉分かる? 日本語になってる?
78 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 01:38:55 ] >>76 昔からなかったと思う。 ただ.NET Framework 1.1にはVB.NETのコンパイラが入っている。
79 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 01:42:31 ] >>77 「VB.net2003相当のフリー版は無いのか?」って質問だろ? 大丈夫、一応日本語になっている。
80 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 01:48:15 ] >>78 マジか。ってことはFramework 1.1を使うには.NETのコンパイラを買わないとダメなのか?
81 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 01:49:51 ] >>79 そっか。ありがとう
82 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 02:03:13 ] >>80 Framework は無料で配布されてるだろ?
83 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 02:04:43 ] >>80 >>78 が言っているのはNET Framework 1.1 SDKのことじゃないのか? それなら無料で入手できるはず。 すべてコマンドプロンプトで作業しなければならないので不便なことは確かだけど、 それでも .NET Framework 1.1 のアプリを開発することはできるはず。
84 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 02:07:27 ] いや、SDKではなくランタイムとかの方で十分。 %FrameworkDir%\%FrameworkVersion% (1.1なら%WINDIR%\Microsoft.NET\Framework\v1.1.4322)にvbc.exeがころがっている。
85 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 02:09:06 ] え、そうなの? ぜんぜん知らなかった。
86 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 02:49:33 ] >>82-84 正直、VB.NET Framework 1.1で動作すれば良いんだ。 おれもNET Framework 1.1はさっきインストールしたんだけど。
87 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 03:25:52 ] 86だがこれで2003として使えるのかな? www.microsoft.com/downloads/details.aspx?FamilyId=69D2219F-CE82-46A5-8AEC-072BD4BB955E&displaylang=ja
88 名前:デフォルトの名無しさん [2008/02/15(金) 03:27:02 ] >>84 そうなのかと思って見てみたら、そこにはほとんど何もなくて、v2の方にしかvbc.exeがなかったよ。
89 名前:デフォルトの名無しさん [2008/02/15(金) 03:38:28 ] 流れ無視で申し訳ないのですが、質問です。 サイトやブログなどのHTMLに書いたコードにインデントがついていたり 予約語などに色がついていたりして見やすくなっているのをよく見かけるのですが あれはどうやっているのでしょうか?専用のツールなどがあるのでしょうか? 検索しようにも言葉がうまく出なかったので質問させていただきました。 よろしくお願いします。
90 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 03:48:23 ] シンタックスカラーリングとか構文の色表示とか構文カラーとかシンタックスハイライトとか それにhtmlエディタとかで検索してみれば?
91 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 03:49:26 ] firefoxならただ単にソースを表示すればそうなる。 ただインデントは付かず、カラーリングされるだけ。
92 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 03:51:24 ] 簡単な物なら bison/flex で作ると いい練習問題になるよ。
93 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 03:52:11 ] あ、すまん ウエブ上で表示しているやつか あれはブログでそういう機能を用意されているところもあったり 構文解析してタグを入れたものを出力してくれるツールがあったりいろいろ とりあえずシンタックスカラーとかで検索してみれば?
94 名前:デフォルトの名無しさん [2008/02/15(金) 03:55:31 ] こんなにレスもらえるとは思ってませんでした。 ありがとうございました。
95 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 04:17:03 ] >>88 .NET Framework 1.1をインストールしていないだけでは? 試しに.NET 1.1のインストーラをダウンロードしてやってみな
96 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 09:16:59 ] >>95 その通りだった。 確認したPCは1.1を入れてたものに2をさらに入れていたと思い込んでいたが、実は2しかインストールしていなかった。
97 名前:デフォルトの名無しさん [2008/02/15(金) 10:18:03 ] 今日patch童貞卒業を目論む者です あるライブラッリをconfigure && makeしようと思いソースを落としたのですが hoge-20060909-patch.sh.bz2 hoge-3.cygwin.patch* hoge-20060916.patch.gz hoge-3.extra.patch* hoge-20060923.patch.gz hoge-3.src.patch* hoge-20060930.patch.gz hoge.tar.gz hoge-20061007.patch.gz hoge-20061014.patch.gz hoge-20061021.patch.gz hoge-20061028.patch.gz hoge-20061104.patch.gz hoge.cygport みたいなかんじで*.patchや意味ありげな拡張子なものが いっぱいあってとまっどっています(tar.gzが本体っていうのは分かります(^^; 日付順にあてるのでしょうか? 最新のものだけをあてるばよいのでしょうか?
98 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 10:26:40 ] readmeに記述がなければ日付順に全部
99 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 10:31:02 ] 違ってたらエラーでる
100 名前:デフォルトの名無しさん [2008/02/15(金) 13:04:36 ] int uruu(int y) { // 閏年かどうかの判定 return y % 4 == 0 && y % 100 != 0 || y % 400 == 0; } このreturnは何を返しているの教えてください お願いします
101 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 13:08:49 ] 条件判定式の値は、条件が真なら1、偽なら0になる。この場合、 (yが4の倍数 かつ yが100の倍数でない) または (yが400の倍数) が真なら1、偽なら0が返される。 西暦が4の倍数が基本的に閏年だけど、100の倍数は閏年にならない。 ただし400の倍数は閏年、というのを判定している。
102 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 13:13:01 ] >>100 y % 4 == 0 && y % 100 != 0 || y % 400 == 0 を返している・・・じゃだめか? if ( uruu(2008) ) { ... } のように使うと思えば、わかりそうな気がするけど
103 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 13:25:47 ] >>101 >真なら1、偽なら0が返される 自分は正確なことは知らないんだけど、真の時1 ってのは言語仕様で決まってるの?
104 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 13:27:31 ] 決まってる
105 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 13:31:47 ] 論理/関係演算子の返す値はそう決まっている。 ちなみに BASIC 系だと真は -1 だから、 VB で慣れてる人は注意な。
106 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 13:42:53 ] >>104 >>105 どうもありがと。
107 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 13:52:18 ] そうなのかと思った後、一応気になって www.jisc.go.jp/app/pager?%23jps.JPSH0090D:JPSO0020:/JPS/JPSO0090.jsp=&RKKNP_vJISJISNO=X3010 で確認したけど、このサイト異様に遅いし、OperaだとなぜかPDF開けないし、PDFは閲覧だけでファイル保存できないし、 なぜかPDFも検索ができないし最悪。 日本のソフトが育たない理由が何となくわかる。
108 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 13:58:24 ] 買っても検索できないらしいぜ・・・。
109 名前:100 [2008/02/15(金) 14:05:17 ] >>101 >>102 遅くなってすみません 真なら1、偽なら0・・・なるほどぉ、そういうことだったんですね ありがとうございました
110 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 14:23:06 ] >107 保存できたよ
111 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 14:28:34 ] 変数名・メソッド名・クラス名などの「名前の付け方」は、ある程度のお約束というか慣習があると思うのですが そういうのはどうやって学んだらいいんでしょうか? 本とか読みまくってるうちに自然と身に付くものなんですか?
112 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 14:36:02 ] 言語によって違うけど、例えばJavaの場合は言語仕様書に書いてある C/C++ではいろんな方式が乱立してて特にこれと決まったものはない
113 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 14:38:22 ] 例えばC言語だったら標準関数を参考にする
114 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 14:39:54 ] 独学するなら自分の中で一定のポリシーを持ってればOK Javaの規約は読んでおいたほうがいいね いいソフトやいいソースと呼ばれるものを読んでいると勘所が掴めるかも
115 名前:111 mailto:sage [2008/02/15(金) 15:06:30 ] ありがとうございます。申し遅れましたがC#がメインです。 一応自分の中でポリシーを持ってるので、一人でやる分には問題ないのですけど。 グループで共同作業をする場合とかはこの辺ちゃんと考えないと大変ですよね。 最初に記法というかポリシーみたいのを全部決めておくんでしょうか?
116 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 15:08:41 ] プロジェクトで決まってることもある。 特定のライブラリに大部分依存するプロダクトであれば、ライブラリに合わせたりとか。
117 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 15:10:02 ] 本当に最初のうちはあまり決めないほうがいいかもしれない。 どこか途中で決めることになるかもしれないけど。
118 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 15:20:24 ] C#ならマイクロソフトのガイドラインを参考にするのもいい
119 名前:111 mailto:sage [2008/02/15(金) 15:25:07 ] そうですね。色々な本や資料を見ながら常識的なポリシーを築いていきたいと思います。 もう1つお聞きしたいのですが、規模が大きくなるほど(共同作業のプロジェクトの場合はなおさら) 名付け方1つ違うだけで可読性に大きく差が出てくるような気がするのですが。 可読性=生産性と考えると、名付け方というのは相当に重要なポイントではないでしょうか? (プロジェクトリーダーの力量が問われるところ?)
120 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 16:19:41 ] >>118 お前のチンコがマイクロソフトなんだぜ?
121 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 16:29:27 ] 0が真でそれ以外が偽というのもあるなー いずれにせよマジックナンバーはオススメできないよなぁ
122 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 17:34:48 ] >>121 そして、 #define TRUE 0 #define FALSE !TRUE int isHoge() { reutrn TRUE; // or FALSE } int hoge() { if (isHoge()) {} } とかやってしまうアホが出てくるんだろうなぁ。
123 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 17:37:39 ] そいえばFortran使ってたころ痛い目見たなぁ・・・(遠い目 bool型のない言語って最近はないですよね?
124 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 17:44:11 ] >>121 shellがそうだね。だから、testコマンドの振る舞いがちょっと変。
125 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 18:06:48 ] >>123 PHPは無いんじゃなかろうか。 echo true とかすると 1 って出るし。 でも困った事はない。
126 名前:19 [2008/02/15(金) 18:15:23 ] >>21 の方法でやってもセグメンテーションエラーになりました・・・ 関数内でfgetc呼んだ時点でなってるようなんですが・・
127 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 18:22:21 ] >>126 今日も続ける心算なら、実際にコンパイルしたソースを貼ってくれ。 ついでに言えば、>21は昨日の滓が書いたコードだから無視していい。
128 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 18:27:50 ] >>125 と思ったらあるみたい。 jp2.php.net/manual/ja/language.types.boolean.php echo true で 1って出るのは暗黙の型変換でもされてるんだろうか。 よくわからん。
129 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 20:07:05 ] >>118 MSDNの例? そういや自分MSDNにある命名規則とはずいぶん違うなあ List変数を今までList<Hoge> hogeListとしてたけど、hogesのほうが一般的?
130 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 23:04:20 ] >>129 コンテナがlistであることに意味がある場合は兎も角、 そうでないならListとつけるのはどうだろう。 # でもまぁ、hogeListとかlistHogeとかhogesとかどれも見掛けるなぁ。
131 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 23:23:38 ] 意味あっても無くても付けるだろ普通 listなら〜List、mapなら〜Map、配列なら〜Arrayって感じで。 その方がプログラム構造が視覚的に分かりやすいよ。
132 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 23:27:12 ] >>131 開発の途上でコンテナを変えたときにはリネームするの?
133 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 23:31:41 ] >>131 やっぱりそうだよね。 #VSとかのIDEならポップアップですぐ型が分かるし無問題、って言う人もいるかもしれんけど。
134 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 23:35:47 ] >>132 そりゃ当然
135 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 23:42:32 ] ご愁傷様。
136 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 23:42:48 ] C++でリストって言ったらstd::listで線形リスト、 C#でリストって言ったらList<T>で動的配列。 もちろんC++書いているときには、 C#のことは頭の隅に追いやるし、逆もまた然りなんだけど、 ことコンテナの名前は言語・環境によって様々な名前を持っているから、 変数名に付けたいとは思わない。
137 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 23:45:01 ] ただのシステムハンガリアンじゃん
138 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 00:05:45 ] <T>って何を表してるの?
139 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 00:06:25 ] テンプレート引数
140 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 00:08:26 ] 「何らかのコンテナであること」を変数名に含めるのもNGなの? コンテナはコンテナって分かったほうが把握しやすいと思うんだけど。