- 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/
- 369 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:45:09 ]
- C /C++という前提において仮定が無ければ、一般の場合を適合するのが普通じゃないか?
>>366は特殊な場合のみいってるよね。
- 370 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:54:55 ]
- >>307を見て、同じ型へのポインタじゃないと思えるほうが不思議
- 371 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:57:22 ]
- それはただの思い込み。
- 372 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:58:57 ]
- >>369 >>370
だから、趣味ならそれでいいんじゃない、大体動けばOK でも仕事なら動かない場合とかあったら問題になる だから最初から色んなケースを想定する そういう習慣がついてんだよ
- 373 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:01:02 ]
- >>372
繰り返すが、ここは趣味のスレ、お前は場違い、出て行け。
- 374 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:01:02 ]
- 仕事なら仕様を聞くだけで、余計な想像なんて入り込む余地はないだろw
- 375 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:04:46 ]
- >>374
ん? 最初の質問で p と q が同じ型だと書いてなかったら、 俺は同じ型でない場合も想定してただけだよ。 仕事でこういう場合に、勝手に同じ型だけしかありえんだろうって考えで コードを書いたらとんでもないバクを生むことになるから。
- 376 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:07:11 ]
- 屁理屈はお上手ですね。
- 377 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:09:52 ]
- どう見てもただの後付けw
- 378 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:10:11 ]
- いくら正論言おうと空気読めない奴が何をいっても無駄。
- 379 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:10:42 ]
- 実務でもありえないような数値入力して、
プログラムが暴走して損害だしても、それは入力したユーザのせいになるよ。 プログラマがそんな細かいことまで考える義務はない。 プログラマの前提が優先されるからね。
- 380 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:12:47 ]
- >>375
お前以外の99人はpとqは同じ方という前提なんだよ その時点でお前がまちがってるということ
- 381 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:14:25 ]
- 民主主義の国は何もかも多数決で決められる、
それがいやなら北朝鮮でもジンバブエでも好きなところいけ。
- 382 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:16:17 ]
- p=qなら常に*p=*qは成り立つ、これが常識
そうならないケースを考える馬鹿が一人いるってこと そして沢山の人から非難をあびている
- 383 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:20:45 ]
- p=q;
をみて /* p=q; */ まで仮定しないといけなくなるな。
- 384 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:23:50 ]
- 仮定を排除してまずコンパイラが仕様通りでバグが無いか確かめます
- 385 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:26:57 ]
- パソコンにコンセントが刺さっているか調べます。
- 386 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:27:49 ]
- 自分が仮想現実の住民でないか確かめます
- 387 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:32:58 ]
- 例外的な可能性を考慮してダメだししたって言うには、
指摘の時点でそれを言ってないとダメ。
- 388 名前:デフォルトの名無しさん [2010/06/03(木) 14:37:51 ]
- 教えてください。
クラス foo と bar を用意したとします。 bar は foo 1つにつき1インスタンス必要なので、foo のコンストラクタで bar のインスタンスを作ってます。 ただ、bar は foo の情報を元に処理するので、bar のインスタンスを作る際の引数に、this (foo) を渡そうと思いました。 要するに、相互参照です。 foo.h と bar.h とした場合、include 順の指定がうまく行かずこまっています。 これは、この設計が誤っていますか? ヘッダファイルや宣言の記述に細工が必要ですか? 正しい考え方や、記述の仕方を教えてください。
- 389 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:38:09 ]
- 馬鹿なレスが多いんで見落としてた
>>347 俺も基本的にそういう考えだよ。別に俺がそう書きたいというわけでなく、 p==qかつ*p!=*q は存在しないということに対して、存在する場合もあると言っただけだよ。 そもそも cast operator を定義する時点で怪しいコードになってくる。 けどその有用性を利用しているコードも存在している。 だから、その性質を理解しておくのは必要なことだと思っている。 例えば行列を表すクラス A があって、 それを拡張してインバース属性を持つクラス B 作るとする。 このときに B には opertore A() を用意しておき、 インバース属性が立っていれば逆行列を返すようにするとか そうすると A を使用していたコードがそのまま使える。 こういう手法を使うことはよくあるだろ。(少なくとも使ってる奴がいるだろう。)
- 390 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:41:49 ]
- ウザイ
- 391 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:43:12 ]
- ここまで来ると哀れだなw
- 392 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:43:51 ]
- >>388
'foo.h' で class bar; class foo { ..... }; のように、空のクラス宣言をしてやれば回避できる場合もある。 これでいけるかどうかは相互参照の内容次第。
- 393 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:44:31 ]
- >>389
死ねばいいのに
- 394 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:51:43 ]
- >>388
インナークラスとして、一つのヘッダーにまとめてしまうとか class foo { class bar { ・・・・ }; ・・・・ };
- 395 名前:388 [2010/06/03(木) 14:54:43 ]
- なるほど、空クラスですね。
やってみたのですが、やっぱり仰るとおり相互参照次第で、コンストラクタに this を渡したい場合はそれ相応の宣言が必要でした。 この考え方(構成)が間違っているという事ですかね。。
- 396 名前:388 mailto:sage [2010/06/03(木) 14:56:04 ]
- >>394
なるほど!!! 為してみます。 インナークラスかぁ。勉強になります。
- 397 名前:デフォルトの名無しさん [2010/06/03(木) 19:50:52 ]
- 質問です。
例文 int a; printf("値をいれてください:"); scanf("%d",&a); if(a<0&&a<9) { printf("値が違います!!"); } とこういう文があったとして、aにたとえば10を入力するとエラーメッセージを出してもう一度 入力させる処理に戻りたいんですがなにを付け加えればいいですか?
- 398 名前:デフォルトの名無しさん [2010/06/03(木) 19:55:37 ]
- do while
- 399 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 20:01:53 ]
- while(1) {
printf("値をいれてください:"); scanf("%d",&a); if(0<=a && a<=9) break; printf("値が違います!!"); }
- 400 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 20:03:24 ]
- int a;
INPUT: printf("値をいれてください:"); scanf("%d",&a); if(a<0&&a<9) { printf("値が違います!!"); goto INPUT; }
- 401 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 20:22:20 ]
- int a;
do { printf("値をいれてください:"); scanf("%d",&a); if (a < 0 && a < 9) { printf("値が違います!!"); } else {
- 402 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 20:23:25 ]
- 途中送信しちゃった
ごめんね break; } while (true);
- 403 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 20:56:54 ]
- >>398-402
たくさん回答ありがとうございます。gotoが一番簡単そうですね、勉強になりました。
- 404 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 21:56:15 ]
- >>403
こうする手もある int a; while (!Input(&a)) { } int Input(int* p) { printf("値をいれてください:"); scanf("%d", p); if(*p<0&&9<*p) { printf("値が違います!!"); return 0; } return 1; }
- 405 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 22:07:46 ]
- gotoは推奨されていない
- 406 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 22:13:42 ]
- それは思考放棄
gotoを使ったほうがやりたい事を的確に表現している場合はgotoを使うほうが良い
- 407 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 22:39:28 ]
- まぁgoto使った方が便利な時もあるけど
あんまり>>397の質問のレベル的にgotoを 使う癖は付けない方が良いと思う。
- 408 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 00:47:02 ]
- Cで無限大を表記するにはどうすればいい?
- 409 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 00:56:58 ]
- +inf
-inf
- 410 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 00:57:59 ]
- って処理系依存だっけ?
- 411 名前:408 mailto:sage [2010/06/04(金) 01:10:36 ]
- ごめんなさい説明不足がありました
今xy軸上に三角形を作るプログラムをやっていて3点を直線で結び出来上がる三角形があるとして ある線が傾き無限の直線になったとき三角形が描けなくなります。※2点のx座標が等しい場合 それで無限になったとき(yの変化量/0)になったら回避したいので質問させていただきました
- 412 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 02:00:07 ]
- 傾きを計算する前に判断しようぜ
- 413 名前:デフォルトの名無しさん [2010/06/04(金) 02:51:47 ]
- 今xy平面に三角形を作るプログラム作成に取り組んでいて3点を線分で結び出来上がる三角形があるとして
ある線分の傾きが無限になったとき三角形が描けなくなります。※2点のx座標が等しい場合 それで無限になったとき(yの変化量/0)になったら回避したいので質問させていただきました
- 414 名前:デフォルトの名無しさん [2010/06/04(金) 02:53:44 ]
- 3点A(1, 0) B(1, 1) C(0, 1) で、AとBのx座標が等しいが、三角形ABCは書ける。
三角形がかけないのは、3点が同一直線上にある場合。
- 415 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 05:51:03 ]
- >※2点のx座標が等しい場合
なぜこれで判定しない?
- 416 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 11:20:49 ]
- 参照を後からセットすることはできませんか?
Class B; Class A { B& m_b; }; のような状態で m_b をコンストラクトより後のタイミングでセットしたいのです。 ポインタにすればできますが * を付ける必要があるので、参照でやりたいんです。
- 417 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 11:42:50 ]
- 無理。
生ポインタ弄るのが嫌な場合はboost::reference_wrapper的なのを使えばいいが、 operator* 等を使うのが嫌という要求は言語仕様の埒外。
- 418 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 12:06:35 ]
- 無理やりやったりして
codepad.org/7goDNgTH 保証されてないよね
- 419 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 12:21:40 ]
- >>417
>operator* 等を使うのが嫌という要求は言語仕様の埒外。 参照ってそういう機能だろ、問題はセットできるのが初期化時に限られてるということ
- 420 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 13:13:31 ]
- 問題というより安全性の確保だろ。
いつのまにかぬるぽになってたりしないように。
- 421 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 15:13:51 ]
- >>418
LLP64だと悲惨な事になりそうだな
- 422 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 09:42:28 ]
- ポインタも参照もほとんどの実装では中身は同じだろうから
LLP64とかは関係ないと思われる もちろん規格は保証してくれないが ダミー変数の必要のない方法 ttp://codepad.org/h1sj56ka もちろん実際に使っちゃだめだよ
- 423 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 10:47:02 ]
- get()メソッドで妥協していいならboost::optional<T &>だな
int x, y; boost::optional<int &> opt(x); opt.get() = 1; // x = 1 opt = y; // yに張替え *opt = 2; // y = 2
- 424 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 10:48:23 ]
- *でも面倒くさいと言ってんのに.get()はないわ
- 425 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 10:58:50 ]
- じゃあどうしようも無いな
operator . がオーバーロードできない時点で参照剥がしの手間はかならず必要になる 代入と暗黙変換はその限りではないが
- 426 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 11:05:40 ]
- unionに参照は入れられないか・・・
- 427 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 11:26:35 ]
- LZ77で圧縮したデータを解凍するソースを書いて欲しいと言われたんだが
圧縮情報を表す箇所って、規定無いよね? abcdeabcdezをLZ77に掛けると、abcde[5,5]zとなるけど [5,5]を判断する場合どうすれば良いの? 圧縮側もこちらで書いていいなら\\[5,5]とか目印入れれば分かるけど 解凍ソースのみで困ってる
- 428 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 11:40:52 ]
- 解凍ソースあるならいればいいじゃん
- 429 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 11:51:35 ]
- >>428
ソースは一切なし。圧縮したデータを見ることもまだ出来ない それでいて、最初のLZ77を使ってるからと言われ きちんと解凍出来るソースを書かなきゃいけないみたい 調べると、何処のサンプルも圧縮情報の前に適当なマーク入れたり 9bitにして、その後ろが圧縮情報か見たりしてるから、一発で動くのが書ける気がしない
- 430 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 12:00:37 ]
- LZ77の仕様書よめばどう扱ってるか解るんじゃね?
- 431 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 13:48:25 ]
- 亜種が大量にあるとかいう話だけど
- 432 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 22:41:12 ]
- int[10]が書き込まれてるファイルをfread(hoge,sizeof(int),100,fp)とかやったら足りない部分はどうなるの?
ちゃんと0で埋まる?それとも保障されてない?
- 433 名前:デフォルトの名無しさん [2010/06/05(土) 22:43:52 ]
- >>432
埋まらない。何もされない。
- 434 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 23:17:42 ]
- thx
- 435 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 02:36:53 ]
- C++の具体的に難しいところってどの辺なんでしょうか?Cだとポインタと配列辺りだと思うんですが。
ちなみに今継承あたりを勉強中です。
- 436 名前:デフォルトの名無しさん [2010/06/06(日) 02:40:11 ]
- TMP
- 437 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 09:58:14 ]
- 経験的には、ポインタとか配列は難しくなくて、初心者でもすぐに使い始める。
難しいのは適切に使うこと。初心者はなんでもポインタで解決しようとしがち C++とかもだいたい同じで言語仕様が難しいというより、どう使うのかが難しい。 いっぱい用語があるのも難しいところかも。pimplとか
- 438 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 10:03:11 ]
- pimpl使ったら分からんと怒られた
- 439 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 10:08:35 ]
- ポインタは概念が難しいのではなく書式が難しいと言う人が多いけど
どう考えても書式が難しいのではなく概念が難しいから初心者はつまずくだろ
- 440 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 10:17:43 ]
- ポインタのポインタの配列とか
関数ポインタの配列とか 概念は簡単でも書き方に戸惑う
- 441 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 10:21:32 ]
- そんなふうに書かなくても済ませられるのがC++のいいところじゃないか
- 442 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 11:32:38 ]
- >>439
概念が簡単だとは言わないが、わけのわからん書式が、せっかく理解しかけた 初心者の脳を改めて引っ掻き回して台無しにするのも事実。
- 443 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 11:38:06 ]
- >>442
int *a; *aはint変数のように扱える。論理的かもしれないけど直感的ではないな。 イテレータも、二つのイテレータを使えば0個も表現できるってのも論理的だけど直感的ではなくわかりにくいね。
- 444 名前:デフォルトの名無しさん [2010/06/06(日) 11:41:00 ]
- ポインタは全く難しくないよ。
だってお前らですら全員理解してるじゃんwww
- 445 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 11:47:36 ]
- つうか概念は簡単だろ
- 446 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 11:50:16 ]
- Cでポインタより難しい概念あるの?
- 447 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 11:51:35 ]
- int *p じゃなくて *int p ならまだ分かりやすかったんじゃないかとか思ったり
- 448 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 11:59:43 ]
- int* a
- 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なんてファイルのモンスターハウスだぜ
|

|