C++相談室 part74
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/10/25(日) 00:22:58ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。
前スレ
C++相談室 part73
http://pc12.2ch.net/test/read.cgi/tech/1254746834/
0153デフォルトの名無しさん
2009/10/27(火) 12:54:01i->x + (i+1)->x
だと思ったんですけど違うみたいなのでどうするかわかりますか?
0154デフォルトの名無しさん
2009/10/27(火) 13:06:150155デフォルトの名無しさん
2009/10/27(火) 16:05:47サンクス
0156デフォルトの名無しさん
2009/10/27(火) 19:12:16メモリ使用量を100kから80kへ減らす、所要処理時間を1200msから1180msへ減らす。
いかにもC++崇拝者がやりそうなことだな。
そのためには誰が読んでも処理内容が明白なアルゴリズムを性能だけを考慮してチューニングし始める。
改善の相対量では無く絶対量を理解していない。体感では無に等しい改善の対費用効果を考慮する概念すらない。
コードの運用コストがいくら掛かろうと性能が向上することは良いことだと思い込んでいる。
見えているのはコードだけ、それを利用する人間の笑顔じゃない。
0157デフォルトの名無しさん
2009/10/27(火) 19:15:050158デフォルトの名無しさん
2009/10/27(火) 19:57:40なんでそんなに目の前の相手のキャラクターメイキングに必死なの?
0159デフォルトの名無しさん
2009/10/27(火) 20:01:390160デフォルトの名無しさん
2009/10/27(火) 20:21:121.2秒以内に処理が終わらないと子供の命が危ないんだけど。
0161デフォルトの名無しさん
2009/10/27(火) 21:05:56アホらしい
0162デフォルトの名無しさん
2009/10/27(火) 21:08:290163デフォルトの名無しさん
2009/10/27(火) 21:12:03自信満々に突っかかってるを見てると、こっちが恥ずかしくなってくる。
0164デフォルトの名無しさん
2009/10/27(火) 21:13:180165デフォルトの名無しさん
2009/10/27(火) 21:16:33どこの誰に影響を与えることが出来るんだろう?
無意味すぎる。
0166デフォルトの名無しさん
2009/10/27(火) 21:17:240167デフォルトの名無しさん
2009/10/27(火) 21:18:54そこそこのコンセンサスすら得られないなら書く意味がないだろう。
0168デフォルトの名無しさん
2009/10/27(火) 21:24:280169デフォルトの名無しさん
2009/10/27(火) 21:37:10VC++2008のプロファイラは関数単位しか時間でないだろ? 使いにくいし。たぶん。
こっちは行単位で出るぞ。
0170デフォルトの名無しさん
2009/10/27(火) 21:46:39よくあること。
0171デフォルトの名無しさん
2009/10/27(火) 22:12:35まあ、よほど特殊な状況でない限り161みたいな状況なんてありえないよな
みんながみんな宇宙船や粒子加速器作ってる訳じゃないんだからさ
0172デフォルトの名無しさん
2009/10/27(火) 22:17:12ねぇだろw
0173デフォルトの名無しさん
2009/10/27(火) 22:39:40このレベルで挙げ始めたら、知ってる人は大量に挙げられるんじゃね?
>>161みたいに、「俺の知らないものはこの世に無い」とでも思ってるかのように
自信満々に「アホらしい」とは言えんなぁ、俺は。
0174デフォルトの名無しさん
2009/10/27(火) 22:45:21具体的な例をあげて、それがなぜ1.2秒なら良くて1.21秒だとだめになるのかを簡単にでも説明できないと
0175デフォルトの名無しさん
2009/10/27(火) 22:49:16>>161は何を根拠にアホらしいと断定してるのかも聞きたい。
この世にそんなものはあってたまるかという自信に満ち溢れてるようなので。
0176デフォルトの名無しさん
2009/10/27(火) 23:02:290177デフォルトの名無しさん
2009/10/27(火) 23:03:44常人にはわからない不思議なマッチで火が点いて、引っ込みつかなくなったのでは。
0178デフォルトの名無しさん
2009/10/27(火) 23:09:21例えばで出てきた具体的な物理量をいくら叩いても数学的には何も言えてないだろ
逆に数学的に破綻のある論理でもシステムのライフサイクルとの対比で ∞ に近似できるケースもあるし
結局、基準を「俺ルール」に求めている点で何も変わってない
0179デフォルトの名無しさん
2009/10/27(火) 23:15:43オリンピックの100m走の計測だと9.58と9.57はすごい違いだろ。
後者だと長年歴史に名が残る可能性。
0180デフォルトの名無しさん
2009/10/27(火) 23:17:500181デフォルトの名無しさん
2009/10/27(火) 23:19:090182デフォルトの名無しさん
2009/10/27(火) 23:33:050183デフォルトの名無しさん
2009/10/27(火) 23:35:02車のブレーキ制御ってC++使ってしてるの?
0184デフォルトの名無しさん
2009/10/27(火) 23:44:19面白い例えだと言えばまあそんな気もしてくる。
時速100kmでかっ飛ばしていたとすると
100(km/hr)*(1000/3600)=77.2(m/s)
だから
0.01秒では
0.77m
の差が出る。
まあ子供の命を救えるかどうかは微妙な所。
0185デフォルトの名無しさん
2009/10/27(火) 23:52:010186デフォルトの名無しさん
2009/10/27(火) 23:53:29C++かどうかは知らんが組み込み系な言語でしょう。
(スレチってなら1.21秒な話も同様ですぜ)
>>184
101回目のプロポーズなら死んでたかも知れない。
100km/hは出してないけどさ。
0187デフォルトの名無しさん
2009/10/27(火) 23:54:01だいたい1ms-10ms
ブレーキ制御はペダル入力だけとは限らないからね
>>183
Cだな
C++なんて絶対に使われない
0188デフォルトの名無しさん
2009/10/28(水) 00:28:290189デフォルトの名無しさん
2009/10/28(水) 00:51:54ただし使い方はbetterCだけど
0190デフォルトの名無しさん
2009/10/28(水) 00:52:561bitだか1Byteミスっただけでダメだったって話のアレ?
0191デフォルトの名無しさん
2009/10/28(水) 04:39:320192デフォルトの名無しさん
2009/10/28(水) 04:47:441/60秒以内に処理が終わるかどうか。0.001秒でも遅れたらゲーマーに袋叩きにされるな。
子供も死んじゃうかもしんない
0193デフォルトの名無しさん
2009/10/28(水) 06:05:20> 1/60秒以内に処理が終わるかどうか。
> 0.001秒でも遅れたらゲーマーに袋叩きにされるな。
1/60=0.016666666666666666666666666666667
だぞ。
0194デフォルトの名無しさん
2009/10/28(水) 06:08:00描写速度以上の反応精度はあるだろう。
0195デフォルトの名無しさん
2009/10/28(水) 06:44:430.0166秒以内に終わらせなくてはいけない処理は
0.0167秒かかってはいけない。
わかる?
0196デフォルトの名無しさん
2009/10/28(水) 06:47:41それが何か?
画面更新は垂直同期に合わせることになるから1/60秒という時間制限に0.001秒でも
遅れたら60fpsのゲームが30fpsになる。実際えらい違いになるよ。
0197デフォルトの名無しさん
2009/10/28(水) 09:09:500198デフォルトの名無しさん
2009/10/28(水) 09:14:37なんでそんな中途半端な桁数に?
普通に0.01666……とでも書けば充分伝わるのに。
或いはいっそ、同じ間抜けを晒すならもっと桁数費やせば清々しいものを。
0199デフォルトの名無しさん
2009/10/28(水) 09:15:180200デフォルトの名無しさん
2009/10/28(水) 09:58:140201193
2009/10/28(水) 23:22:14>>198
いや別に、ゲームプログラミングをしたことない俺が
横槍を入れたくなったから入れてみただけだ。
特に深い意図もない。
>>200
おまえ鋭いな。
まあWindows電卓じゃないけど似たような状況。
0202デフォルトの名無しさん
2009/10/29(木) 01:18:300203デフォルトの名無しさん
2009/10/29(木) 01:42:34株価にも影響するんだぜこれ。
http://schiphol.2ch.net/test/read.cgi/gamefight/1256659345/
0204デフォルトの名無しさん
2009/10/29(木) 11:00:14>>152がどういう物を作っているのか純粋に気になる。
>>203
ネットワークプログラミングは今の話題とは別じゃない?
0205デフォルトの名無しさん
2009/10/30(金) 13:55:26高速化の努力なんて無駄w」
で済むプログラムしか書いたことない人は実にお気軽なものですね。
0206デフォルトの名無しさん
2009/10/30(金) 14:14:5220ms余計に時間が掛かることで開発期間と運用コストが5%削減出来るとか、そう言う勘定が出来ないとダメ。
出来ない奴はエンジニアでもビジネスマンでもないよ、ただのプログラミングを趣味にしているだけのおじさん。
0207デフォルトの名無しさん
2009/10/30(金) 14:30:32あらゆるものをC++で書こうとする人間は
適切なソリューションを選択する能力が低いとしか言いようがない
そしてC++が最良の選択肢となるケースはそれほど多くはない
0208デフォルトの名無しさん
2009/10/30(金) 14:45:33ただでさえ書きこみの少ないプログラム板が完全に閑古鳥が鳴いてる
0209デフォルトの名無しさん
2009/10/30(金) 15:18:070210デフォルトの名無しさん
2009/10/30(金) 15:33:10「あらゆるものをC++で書こうとする人間」の相手をしなければ
ならない境遇にあるのですね。
痛み入ります。
0211デフォルトの名無しさん
2009/10/30(金) 15:43:57ってそりゃそうでしょ。
世の中のプログラマーの仕事量で考えれば業務系とか実行
スピードなんてどうでも良いようなのが8割以上だろうから。
そんな事はこのスレに居るC++使いは当然分かってるだろ。
0212デフォルトの名無しさん
2009/10/30(金) 16:52:550213デフォルトの名無しさん
2009/10/30(金) 17:07:050214デフォルトの名無しさん
2009/10/30(金) 23:52:12土方ってそういう基準でなるものか?
0215デフォルトの名無しさん
2009/10/31(土) 00:04:490216デフォルトの名無しさん
2009/10/31(土) 03:09:02http://www.parashift.com/c++-faq-lite/on-line-availability.html#faq-2.2
> ... Learn to use wget instead.
0217デフォルトの名無しさん
2009/10/31(土) 12:23:440218デフォルトの名無しさん
2009/10/31(土) 12:51:590219デフォルトの名無しさん
2009/10/31(土) 13:02:57例外を投げてはいけない関数はそのことも書いてある
>>218
デタラメはやめなさい
0220デフォルトの名無しさん
2009/10/31(土) 13:06:53投げるとか、そういう奴か?
0221デフォルトの名無しさん
2009/10/31(土) 13:10:12少ないわな
手持ちのC++標準ライブラリには標準はvectorとdequeのat()と、
アロケータがbad_allocを投げる事を要求しているに過ぎないと
書いてある
詳しくは規格票のどこかにあると思うが誰か探してくれ
0222デフォルトの名無しさん
2009/10/31(土) 13:11:41そうです。
0223デフォルトの名無しさん
2009/10/31(土) 13:19:11§23.1.1.13
13 The member function at() provides bounds-checked access
to container elements. at() throws out_of_range if n >= a.size().
§26.3.1.6
6 These library functions are permitted to throw a bad_alloc (18.4.2.1) exception
if there are not sufficient resources available to carry out the operation.
Note that the exception is not mandated.
この二つしかない
0224デフォルトの名無しさん
2009/10/31(土) 13:24:440225デフォルトの名無しさん
2009/10/31(土) 13:41:43C++崇拝者は無駄に調べ物が多くて大変ですねwww
ドキュメントさえ整備されていれば本来そのコストは支払う必要の無いものwwwでも現実に整備されていないから浪費wwww
その無駄な時間を生産へ充てた方が賢明ですよwwwww
0226デフォルトの名無しさん
2009/10/31(土) 13:49:210227デフォルトの名無しさん
2009/10/31(土) 13:52:350228デフォルトの名無しさん
2009/10/31(土) 13:53:58アロケータがbad_allocをthrowするってことは、
push_backやinsert内ではどうなってんだろ?
そのまま呼び出し側までthrowしてんのかな?
0229デフォルトの名無しさん
2009/10/31(土) 14:03:31でも仕様が明記されていないから結局内部処理を調べなきゃいけないw実際に動かしてどうなるか確かめて見ないといけないw
生産性を高めるはずの隠蔽の仕組みがすべてが徒となっているww
0230デフォルトの名無しさん
2009/10/31(土) 14:11:210231デフォルトの名無しさん
2009/10/31(土) 14:57:550232デフォルトの名無しさん
2009/10/31(土) 15:14:45ロクに使えもしない癖に文句言うなカス
0233デフォルトの名無しさん
2009/10/31(土) 17:03:40様に普通の人は作るから全く問題なし。
0234デフォルトの名無しさん
2009/10/31(土) 17:23:07うん。C++に限らずJava以外みんなそうだと思う。
0235デフォルトの名無しさん
2009/10/31(土) 17:29:11投げるほうは投げるほうで完結するように例外安全にするのはいいとして
受け取るほうはcatch(...)だけにして、エラーの詳細なんて知ったこっちゃないと捨ててしまうの?
0236デフォルトの名無しさん
2009/10/31(土) 17:34:04なるべく catch しない。
main() とか、根っこには catch(...) とか置いとく。
これでだいだい問題ない。
個別に問題があれば追加の catch を注意深く配置する。
0237デフォルトの名無しさん
2009/10/31(土) 17:41:17不明なエラーと回復不能なエラーはルートまでたらい回しリレーして、
詳細がわかって回復可能なところは個別にいじるのね
なんか例外でなやんでた部分がすっきりした気がする
0238デフォルトの名無しさん
2009/10/31(土) 17:51:550239デフォルトの名無しさん
2009/10/31(土) 17:53:220240デフォルトの名無しさん
2009/10/31(土) 20:29:05作ってるものの性格によってまるで違うだろうしな。
out_of_rangeの場合はまた違うだろうし。あなたなら?握りつぶす?
そういったシステムポリシーに関わる処理をどのレベルで行うのかを
柔軟に選べるようになるのが例外の強力なところだと思う。
汚いif文を大量に掃除した上で。
一掃できることが存在理由
だと思う。
0241240
2009/10/31(土) 20:30:550242デフォルトの名無しさん
2009/10/31(土) 20:51:24> 汚いif文を大量に掃除した上で。
とか言ったところで説得力は無いな。
0243デフォルトの名無しさん
2009/10/31(土) 20:58:04ただし >>240 がそうだったかどうかはわからんがな
0244デフォルトの名無しさん
2009/10/31(土) 20:58:490245デフォルトの名無しさん
2009/10/31(土) 21:23:32は記述量増大は必然的にバグ増大につながる
ってことを敢えて示しているのだと思うYO。
0246デフォルトの名無しさん
2009/11/01(日) 15:33:52こそが男気あふれる例外の使い方
0247デフォルトの名無しさん
2009/11/01(日) 20:39:01クソコードじゃねぇか
0248デフォルトの名無しさん
2009/11/01(日) 21:12:18catch(...){}が一番困る
0249デフォルトの名無しさん
2009/11/01(日) 22:47:50まぁほとんどの場合exception&キャッチしておけば実用上問題ないんだし、気にしたら負けかと。
0250デフォルトの名無しさん
2009/11/01(日) 22:49:200251デフォルトの名無しさん
2009/11/01(日) 23:12:59そう
要求定義がまとまる前に実装については議論できんはず
何がどう困るのか言えん奴を相手にしたら負け、そこは間違いない
コンソールがない環境でコンソール出力を要求するアフォとかな
0252デフォルトの名無しさん
2009/11/02(月) 00:46:58■ このスレッドは過去ログ倉庫に格納されています