○○とゲームプログラミング Rev 3.0.0
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
04/02/01 20:56ID:UHX0VJ3UOOも含め、ゲームプログラムの制作に関わる様々なトピックを
語りましょう。
単なるC++でのクラスの書き方から、設計やパターン、制作手法
まで守備範囲広し。
過去スレ:
OOとゲームプログラミング Role2
http://pc2.2ch.net/test/read.cgi/gamedev/1067458051/
OOとゲームプログラミング
http://pc2.2ch.net/test/read.cgi/gamedev/1005144931/
0002名前は開発中のものです。
04/02/01 20:57ID:UHX0VJ3UOO オブジェクト指向
OOP オブジェクト指向プログラミング
OOPL オブジェクト指向プログラミング言語
OOA オブジェクト指向分析
OOD オブジェクト指向設計
別にOOPLでなくとも、OOPはできます
番外
AOP アスペクト指向プログラミング
平たく言うと継承よりも集約重視のプログラミング
0003名前は開発中のものです。
04/02/01 21:01ID:SLfKMdhBスレ立て乙
0004名前は開発中のものです。
04/02/01 21:52ID:38LSgSLD「ソフトウェア工学」
「バージョン管理」
「メモリ管理戦略」
等、好きなものを入れてくれってことだよね?
0005名前は開発中のものです。
04/02/01 21:55ID:CjBOrIdU0006とむ ◆0MTMwDpCZo
04/02/01 22:02ID:eNLYj22gまあその時その時でテーマが自然発生するから、それにそって話せばいいんじゃないかな。
何かを議論して決めるというスレでもないし。
あんまり酷いスレ違いテーマの場合は、参加者の方で無視するでしょ。
0007とむ ◆0MTMwDpCZo
04/02/01 23:16ID:eNLYj22gまず、例外はどうでしょうか?
例外とゲームプログラミング、というテーマとかで。
0008名前は開発中のものです。
04/02/01 23:28ID:Jfv2rBNmそこまで広範囲になるなら
ゲームプログラミング相談室【Part5】
http://pc2.2ch.net/test/read.cgi/gamedev/1036410116/
こっちと統合すればよかったんじゃない?
0009名前は開発中のものです。
04/02/02 00:15ID:Hsmafh7Uぬるぽ
0010名前は開発中のものです。
04/02/02 00:46ID:OX8xaAx6こっちは設計方法論とか方針とかまぁそういう方向性で。
まぁ、「○○」と「OO」掛けてるつもりかもしれないので、一応OO中心で?
0011名前は開発中のものです。
04/02/02 01:38ID:RB9Gulttガッ
0012とむ ◆0MTMwDpCZo
04/02/02 02:11ID:5Nw44/BFキャッチしてますか?
同僚はどうですか?
0013名前は開発中のものです。
04/02/02 04:05ID:NhdAszhe山は死にますか?
風はどうですか?
空もそうですか?
0014名前は開発中のものです。
04/02/02 19:15ID:CLG/z/Kbmain.cpp と main.h の二つのファイルのみから造るギャラクシャン。
0015名前は開発中のものです。
04/02/02 19:19ID:e1Hro4GN司会気取ってねーでお舞いがまず煽り入れるんだろうが、このクソコテが
0016名前は開発中のものです。
04/02/02 22:14ID:CLG/z/KbOOよりも学ぶべき大切な手法が見えてくるから。
0017名前は開発中のものです。
04/02/02 22:56ID:68XHrv2Q0018名前は開発中のものです。
04/02/02 22:59ID:DugJWaEP0019名前は開発中のものです。
04/02/02 23:00ID:DugJWaEP0020名前は開発中のものです。
04/02/02 23:03ID:S+M8V+Lcそのまま実装できると思うからまた躓く人が多いわけで
002116
04/02/02 23:26ID:CLG/z/Kb実はギャラクシャンよりもちょっと難しい。
トーチカの実装がね。
インベーダや自機の弾丸によって、トーチカがドット単位で削れていく。
0022とむ ◆0MTMwDpCZo
04/02/03 03:02ID:vrTSUC1Qギャラクシアンというゲームがどんなだったかかなり忘れてるんだけどね〜。
じゃ、例えば敵はCEnemyという共通のクラスを継承したオブジェクトになるとしましょう。
敵の中にもいくつか種類あったよね。CEnemyRed : public CEnemyな感じで。
そんで、敵全滅させるとクリアだよね。
で、例えば一番お手軽に、敵の数そのものをCEnemyクラスに持たせるとして。
staticメンバで。コンストラクタでプラス、デストラクタでマイナスと。
0023名前は開発中のものです。
04/02/03 10:55ID:dSuA1a+Pあんたのレベルの低さがよくわかった。
0024名前は開発中のものです。
04/02/03 11:00ID:9LHEny520025名前は開発中のものです。
04/02/03 12:33ID:fdd6paxLどこかの国の野党じゃあるまいし、とりあえず対案を出そうよ。
0026とむ ◆0MTMwDpCZo
04/02/03 13:20ID:vrTSUC1Qステージ情報のようなクラスを作って外部に持たせる方法もありますし、もっと直接的に、
CEnemyの派生クラスへのポインタを格納するコンテナのサイズを直接取得するという
方法もありますね。
ちなみに私は超レベル低いですよ。先に言っておきます。いちいち指摘してくれなくても
結構ですよ。でもご指摘ありがとうね。
0027930
04/02/03 13:49ID:QAUu94FBこれでOOの話なんかできるわけないことが分かっただろ?
こいつらは2次元
指摘しても逆ギレ
代案だそうよとか言って結局自分は何もしない
他人の作ったものでしか組み上げることしかできない三流PG
自分の為に時間を使おうぜ
002823じゃないけど
04/02/03 14:15ID:nvDFyoS5これはたしかに根本的な設計思想でもめそうな予感。
はっきりいって俺はこいつ(>>22)とは合わない。
0029名前は開発中のものです。
04/02/03 14:20ID:wZKLI3VN見苦しいな。そんなに前スレの件が悔しかったのか?
こんな所に一流PGが来る訳ない事ぐらいわかれよ。
もしかして前スレでの自分の不備を気付いてないのか?
0030名前は開発中のものです。
04/02/03 15:31ID:0mx1dz/i0031名前は開発中のものです。
04/02/03 15:48ID:dPSO5l4Q0033名前は開発中のものです。
04/02/03 17:54ID:PbQ0ZK6Sこのスレに、ぴったり当てはまる。
0034名前は開発中のものです。
04/02/03 18:37ID:atLOOFCM何か質問ある?
0035名前は開発中のものです。
04/02/03 18:52ID:MYoe6MBv質問:代表作は何ですか?
0036930
04/02/03 23:05ID:QAUu94FBり俺は
最強だ
な。
0037名前は開発中のものです。
04/02/03 23:24ID:atLOOFCM0038とむ ◆0MTMwDpCZo
04/02/04 00:43ID:0ZdjPfCN「レベルの低さがわかった」とか「俺は合わない」とかじゃなくて、「ここをこうするともっと
良くなるんじゃないか?」という話にすれば、ある程度スレが盛り上がると思うんですよ。
そりゃ批判するのはラクだし楽しいとは思いますけどね。
0039名前は開発中のものです。
04/02/04 00:54ID:8XXIUaLnいや、過去ログ読んだけどあんた絶対に譲らない人でそ?
だからOOもそんな独りよがりなわけよ。
おかしい設計をおかしいと認識できないのは
あんたの性格に問題があるわけよ。
あんた絶対食ってかかってくるからいちいち指摘したくないもん。
まわりもそんなんでそ。じゃあねー。
0040名前は開発中のものです。
04/02/04 00:58ID:gxdz8FdCいてててて
004123
04/02/04 01:00ID:e4N0XV4B★俺ならこうする
・CEnemyはファクトリを通して生成するようにする。
・Enemyのファクトリにはオブザーバを登録できるようにする。
・Enemyのファクトリは新しいEnemyインスタンスが生成された時に
オブザーバのOnEnemyCreateイベントハンドラを呼び出す。
★とむ氏の実装より何が良いか
1.「数を数える」以外の用途が必要になった時も、既製のソースに変更を加えることなく機能追加できる。
2.例えば関係しない2つの世界が必要になった時、とむ氏の方法の場合は作り直しだが
私の方式の場合はファクトリを2つにするだけで作業は終わる。
1.が理解できない人は委譲指向のOOが理解できていないと思われる。
2.が理解できない人はSINGLETONとMONOSTATEの違いもきっと理解できない。
実際、2.のシチュエイションは仕事でハマっている人を見た事がある。
そのソースは元々グローバル変数に依存していたが、
仕変で画面分割モードができて対応におおわらわしてたよ。
その仕事のバグレポートはたしか項目4000個超えてた。大変な仕事だった。
0043名前は開発中のものです。
04/02/04 01:14ID:9rt5iKp5どちらにせよ、staticで敵の数なんて持ったら、>>41でいう 2.でハマルってことか。
なんでもかんでも、monostateするより、拡張に備えてsingletonにしとけってことですか?
0044とむ ◆0MTMwDpCZo
04/02/04 01:15ID:0ZdjPfCN確かに私は「食ってかかる」タイプですね。それが嫌な方は、最初から何も指摘しなければ
いいんじゃないでしょうか。
その点で>>23さんはいいと思います。最初は単に「レベルの低さがわかった」などと書いて
それっきりだったので、「またいつものか」くらいにしか思ってなかったんだけど、ちゃんと
その後自分ならどうするというのを書いたので、これだと議論になるというか、スレとして話に
なると思います。
004523
04/02/04 01:20ID:e4N0XV4Bうん。Singletonじゃなくてもいいけどね。
あとせっかくのSingletonも毎回インスタンスの取得してたら
グローバル依存とそう変わらないから、ポインタなり参照なりをメンバに保持するのが賢いやり方だと思う。
>>44
で、私の実装案へのご意見などは?
「それは駄目だろ」とか「これは納得」とかあるでしょう?
とりあえず今日は俺は寝る!
0046名前は開発中のものです。
04/02/04 01:24ID:wvKmvpXdそんなの七誌も含めてほとんどの人間がそうだろw
とむがコテハンだから目立ってるだけ
だから余分にたたかれるのも覚悟してるんだろうがな。
0047とむ ◆0MTMwDpCZo
04/02/04 01:24ID:0ZdjPfCNいや、うん、いいと思いますよ。
あなたの言う、「例えば関係しない2つの世界が必要になった時」などは全く念頭に
置いていなかったので。そういう拡張されたギャラクシアンを作る事を念頭におけば、
確かに基底クラスに数を持たせるというのは問題かも知れませんね。
私が書いた時は、単に手っ取り早く敵の数を表現したかっただけなので…。そのへんが
確かにつっこまれると自信がなかったので(笑)、「一番お手軽に」などと言い訳がましい
形容詞がついてたのです…。
0048名前は開発中のものです。
04/02/04 02:13ID:HuqSCz/v勉強になりそうだし。
0049とむ ◆0MTMwDpCZo
04/02/04 02:45ID:0ZdjPfCNちなみに前スレの930氏が出してたURL。置いてよしBBS。
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1075503745&rm=100
で、今さっき風呂入りながらぼけーっと考えてたんだけど、やっぱり自分でギャラクシアン
作れって言われても、CEnemyなるものを作ってそこに数を管理させたりしないよな、とか
思いました。確かに私の低レベルさを示してますね(笑)。
ちなみに、>>42のレスで気がついた人がいるかも知れないけど、敵の数をその基底クラス
に持たせるのは、Effective C++に書いてあったやり方。だからなんだと言われても困るけど。
0050名前は開発中のものです。
04/02/04 05:13ID:Skm93jRcできればそういうことはいちいち書かないでもらえると非常にありがたい
ついでにコテハン止めてくれればなお良い。
0051名前は開発中のものです。
04/02/04 05:22ID:ijYeRi9Y俺はキミみたいなののほうが鬱陶しい。
0052名前は開発中のものです。
04/02/04 05:46ID:P/UednrM0053名前は開発中のものです。
04/02/04 06:38ID:dSDQ2Dxn0054名前は開発中のものです。
04/02/04 07:07ID:4p8jZ5Cz0055名前は開発中のものです。
04/02/04 10:04ID:8XXIUaLnわけろよ。
わけておけばプッチン ゼリーも作りやすいだろ。
だいたいプッチンの部分なんて容器だけで中身と大してかかわりすくねーじゃねーか。
0056名前は開発中のものです。
04/02/04 11:45ID:n3AIZr5Vそんなことはない。
中身によってはプッチンの大きさを変えないと十分に空気が入らず、
「ママー!プリンがプッチンできないー」と泣き叫ぶ子供が多数発生する。
0057名前は開発中のものです。
04/02/04 11:52ID:1wbSOOML俺は上を目指したいんだよ。
分かってて静観してる奴、おまえらが発言してくれないと
俺はこいつらと同じ人間だと思われ、こいつらのざれごとに もまれなきゃならんわけよ
で、俺が反論したりコテ叩きだしたら 俺が荒らし認定だ。
やってられんわけよ。上の議論のアンチパターンみたく
なんか うまく開き直りを処置する方法は ないもんかね?
放置するのも手だが、それじゃ あんたらのサインは読み取れないわけよ。
0058名前は開発中のものです。
04/02/04 11:53ID:8XXIUaLn大きさ変えりゃ解決できるんだからそこまで密接なもんじゃねーだろ。
0059名前は開発中のものです。
04/02/04 12:25ID:Osc4W8uZ0060名前は開発中のものです。
04/02/04 12:32ID:8XXIUaLnプッチンの開発者が聞いたら号泣ものだな。
0061名前は開発中のものです。
04/02/04 12:55ID:P/UednrM>>57
なんつーか…まずは人を見下したり馬鹿にするのをやめるべぎだと思うぞ。
2chだって紳士のいるところには紳士が集まるもんだ。まぁこの板は荒し多すぎだけどな。
ところで君は上を目指すと言うが、その言葉に見合う努力はしているか?
まずは人が推薦するような本を20冊は読もうな。
でもってその本の内容を理解したら、こんな所で燻ってる必要は無いぞ。
まともな奴がいる所を探して、そこで議論しような。
0062名前は開発中のものです。
04/02/04 13:10ID:n3AIZr5V0063名前は開発中のものです。
04/02/04 15:09ID:ZFrY/+5fあんた誰?
0064名前は開発中のものです。
04/02/04 19:13ID:A3V5KUXY冷静に考えてみれば、三十路になるまで、処女を食ったことがなかったのだ。
0065名前は開発中のものです。
04/02/04 20:34ID:+NKa3+S4三十路になるまでセクースをしたことが無い奴が大半のこの板でする話ではないな。
0066名前は開発中のものです。
04/02/04 21:54ID:1wbSOOML迷惑かけたな
006723
04/02/04 23:44ID:ctv5a5KDあんたが負けず嫌いだという事が良くわかった。>>39を読んであらかじめ覚悟していたから
何とも思わなかったが、前フリが無かったら今ごろ俺ケンカごしで書き込みしてたな。
ちなみにEffective C++はC++の本であってゲームプログラミングの本じゃない。
ゲームプログラミングの本ではない本のサンプルを実践的なゲームプログラミングの話をしている時に
さも正しいかのように持ち出すのはおかしいと思うよ。
「別に正しい例だと言っていない」っていうんだったらわざわざそんな事描く必要性まったくないよ。
まあスレにまともなネタ振れる人間がいないみたいだから、
あんたがネタ振り絞る事は「俺は」否定しない。てか頑張れ。
言い訳がましいレスさえつけなければ悪くないと思う。
>>48
俺の例の話ならGoF本読んで考えて下さい。
006823
04/02/04 23:52ID:ctv5a5KDamazonにて購入
・ソフトウェア工学とコンピュータゲーム
今日届いたので当然まだ読んでない。
何か面白いトピックでも見つけたら俺もネタ振りするかも。
0069名前は開発中のものです。
04/02/05 00:01ID:a8k7orr7結城先生のデザパタ本読んだ後、改めてGof本読もうかにゃー。
0070名前は開発中のものです。
04/02/05 00:20ID:q4thyY1D0071名前は開発中のものです。
04/02/05 00:37ID:OJCjcyTjhttp://www.amazon.co.jp/exec/obidos/ASIN/4797311126/
だよな。買う価値無しってほど廃れちゃいないと思うがなぁ。
0072名前は開発中のものです。
04/02/05 01:37ID:q4thyY1Dその本って原著がWindows95が発売される以前に書かれただけあって、内容が古いなー
と思う箇所が多々ある気がするのは俺の気のせい?
それにSmalltalkとの比較とかも沢山あるけど、そんなもん大半の読者にとって必要無いだろ。
昔ならともかく、今はGoFのデザインパターンに関して噛み砕いて説明した書籍やサイトが沢山
あるのに、わざわざその本を\5000も出して買う価値があるとは俺は思えない。
てか、その金で美味い飯でも食ったほうが絶対幸せになれる。
0073名前は開発中のものです。
04/02/05 02:53ID:N9nT9fCEUML使ってゲームの設計やるような奴ってどれぐらいいるのかなぁ。
みんな普通に使ってるってんなら俺も本腰入れて勉強するから
実践投入の実例があれば教えれ。
0074名前は開発中のものです。
04/02/05 06:10ID:2sw8AtKkお前はすでにケンカごしすぎるぞ。
とむだってEffective C++に書いてあるから正しいとは書いてないだろ。
そこに書いてあったと言ってるだけ。
自分の非を認めてる奴にそこまで噛みつく必要があるのか?
0075名前は開発中のものです。
04/02/05 10:42ID:VgMwCgpG>ちなみにEffective C++はC++の本であってゲームプログラミングの本じゃない。
>さも正しいかのように持ち出すのはおかしいと思うよ。
んー、なんでもかんでも否定にとるのはよくないぞ。バイアスかかりすぎ。
あれはとむ君一流のジョークだと解釈してあげないと。
Effective C++でとむが挙げた話が出てるところだってそういう文脈じゃ
なかったっけ?>軍との契約云々
0076名前は開発中のものです。
04/02/05 11:54ID:zhBT9wz30077名前は開発中のものです。
04/02/05 12:14ID:OJCjcyTj> GoFのデザインパターンに関して噛み砕いて説明した書籍やサイトが沢山ある
そういう事なら納得だよ。てっきりデザインパターン自体に価値が無いのかと。
0078名前は開発中のものです。
04/02/05 12:55ID:PbyDwS46そう、あれじゃ軍との契約は得られないが、話として分かりやすければそれでいいみたいな流れで書いてあった。
要は、そこにつっこみを入れてたら話が進まないだろってことだ。
0079名前は開発中のものです。
04/02/05 19:05ID:x3lzpvy3GoFとかEffectiveC++とかの知識は本当に必要になる。
マジで
0080名前は開発中のものです。
04/02/05 20:33ID:WB3P9AFBC++で作らせてほすぃ・・・。
0081名前は開発中のものです。
04/02/05 20:47ID:YortWucK0082名前は開発中のものです。
04/02/05 21:07ID:WB3P9AFBそんなこと言う人(ry
0083名前は開発中のものです。
04/02/05 23:58ID:OJCjcyTjできるけど気が引ける
0084名前は開発中のものです。
04/02/06 00:14ID:9XAoGs7Z例のタスクシステムとか言ってるやつじゃないの
0085名前は開発中のものです。
04/02/06 00:29ID:1lUd5tFPいや、そりゃ違う話だよ。
まぜるな、また、変な議論はじまるから。
0086名前は開発中のものです。
04/02/06 01:12ID:hCLlGrWBFILE*と高レベル入出力まわりか
あとは関数ポインタ使ってクラスの真似事も無理やりできなくはない
0087名前は開発中のものです。
04/02/06 03:10ID:cGSLd7pRC#だとかD言語だとかが出てるこのご時世に、
なぜC++にこだわる?
0088とむ ◆0MTMwDpCZo
04/02/06 03:16ID:zY+xNQsK0089名前は開発中のものです。
04/02/06 03:51ID:ficRKwSJ0090名前は開発中のものです。
04/02/06 04:54ID:Ck70IGCkそれにOOだけにこだわるならsmalltalkでもやりなさいな。
つーかさ、このスレって毎日…。
009187
04/02/06 05:10ID:cGSLd7pRただ、煽りなんだが、87の所感は正直なんだ。
現実的な問題として、89氏が指摘してるように
「最大市場でそれ動くのかよ?」という壁にぶつかる。
コンシューマは当分、C++での辛抱は続くな。枯れてるぶん、無難か?
009290
04/02/06 05:22ID:Ck70IGCk同じ厨が沸き沸きしてるな。と思ってたわけだが。
コンシューマっつても色々あるけど、C++まともにサポートしてる環境ってどれだけある?
俺はPSとPS2しかやったこと無いんで詳しくないんだが。
0093名前は開発中のものです。
04/02/06 07:56ID:udrmR0AZ激 し く 同 意
C/C++しか選択肢がない環境に耐えられん
0094名前は開発中のものです。
04/02/06 10:41ID:9rUN+ZCnC++はまだ枯れてないような気がする。テンプレート周りとか。
0095名前は開発中のものです。
04/02/06 10:44ID:9rUN+ZCn>例のタスクシステムとか言ってるやつじゃないの
あれは、プロセス、タスク、スレッドとかそういう方向性の話題ですな。
OOとは直交してるんじゃない?だから、OOでタスクシステムを実装とか
いう話が出てくるわけだし。
0096名前は開発中のものです。
04/02/06 11:55ID:munvQzlF0097名前は開発中のものです。
04/02/06 13:45ID:2kOy7/ExC++はOOもできるPLだからね。
C#のテンプレート仕様は見えてこないし、
Javaのgenericsは必要以上にシンプルになっちまったし、
Dのテンプレートもあと一歩大事な所をサポートしていないし。
まあC++を語る前にModern C++ Designを読んで理解してみろって事だ。
0098名前は開発中のものです。
04/02/06 15:28ID:9rUN+ZCn強い型付けの言語は大変だってことで(それしか選択肢が無いからしょうがないんだが)。
0099名前は開発中のものです。
04/02/06 15:29ID:B3yi/0MJ0100名前は開発中のものです。
04/02/06 16:04ID:9rUN+ZCnなくなってくる)と思うけど。
まぁ、メモリ量が限られているプラットホームでは怖くて使う気にはな
れんが(コレも偏見かもしれん)。
0101名前は開発中のものです。
04/02/06 16:15ID:munvQzlFPCなら再起動してもらえばいいけどな・・・。
専用ハードなら自前でGC以上の機能実装くらいしてるべ?
同等機能じゃなくて、GCなくてもまったく問題ないアプリというか。
GCないと困るのは設計ヘボすぎだろう。ないと困る言語使用はしゃーないとしても。
0102名前は開発中のものです。
04/02/06 19:10ID:Qf4EMgr1仮にGCが必要だとしても
自分で実装するぐらいの人間じゃないとね
0103名前は開発中のものです。
04/02/06 20:07ID:2kOy7/Exもちろん直交してる。「C++なんて」っていう奴がOOと直交した他の概念を
知らなさ過ぎるという話。
C++テンプレートはもはやgenericの概念を超えた新しいステージに到達している。
これを利用できない環境へはもはや全面移行できないだろ。
0104名前は開発中のものです。
04/02/06 21:10ID:rZjCrBpy現状C++マンセーでOK?
先を見るならC#, Dあたりかな。
0105名前は開発中のものです。
04/02/06 21:28ID:91D2MlSNOOを極めるならSmalltalkとかへ
実用性を求めるならC++へ
0106名前は開発中のものです。
04/02/07 04:47ID:auC1MQXA別にここはスローガンを考える場所じゃないんだから
まともに中身話あおうや
0107名前は開発中のものです。
04/02/07 05:02ID:SE+Ndv37人によっては必死に見えるんだな。
0108名前は開発中のものです。
04/02/07 05:22ID:zYOhzQwHJavaなのにクラス使えない環境でOOを語るなということですか、そうですか。
すみませんでした。
0109とむ ◆0MTMwDpCZo
04/02/07 08:04ID:jNMJZ69v具体的にどういうJavaなのか見当がつかない…
0110名前は開発中のものです。
04/02/07 09:41ID:r/NTeXJu俺も良く知らんけど。
0111名前は開発中のものです。
04/02/07 10:15ID:lQqanSTJクラス使えなくてもOOはできるよな。
0112名前は開発中のものです。
04/02/07 10:16ID:WAwZesj40113名前は開発中のものです。
04/02/07 11:02ID:YKsHJP0FC++がいいとか、Javaがいいとか、そんな瑣末なこと
どっちでも大して変わらないよ。
0114名前は開発中のものです。
04/02/07 11:39ID:WraacF3/i503時代(10k制約)に研修で作ったけど>>110の言うとおり。
クラス定義を1つ追加しただけで何百バイトか食うから、
全部1つのクラスに納めてた。
でも今って100kくらいいけるんだよね?
>>113
それ業務PG時代にコボラからよく聞いたセリフだな。
// 多分、それらは「ほげ」と同じくらいパワフルなんだろうけど、
// どういうわけかふわふわしたおまけがいろいろついているんだ
0115名前は開発中のものです。
04/02/07 11:43ID:owOqNjeA俺も派遣で昨年まで開発してたよ>携帯ゲーム
中間コード30k制限ですた。。。
複数あったクラスは最終的に1つに。。。
0116名前は開発中のものです。
04/02/07 11:49ID:6BKQNL1Eそのくせポインタとか使えないからな。
かなり性質悪い。
0117名前は開発中のものです。
04/02/07 13:00ID:XhQQhGqKまったくだな。
Dならまだ分かるにしても(GC切れるし)、ゲーム用言語としてはあり得ない。
C#ならマルチプラットフォーム環境が整備されているだけJavaの方が遙かにマシだ。
0118名前は開発中のものです。
04/02/07 13:06ID:r/NTeXJu0119名前は開発中のものです。
04/02/07 13:46ID:XhQQhGqKこれからも、ある程度出来上がってきたら新バージョンが出て追いつけずの繰り返しになるだろう。
しかもGUIはWineを使ってるから、パフォーマンスは圧倒的に悪い。
ゲームなんて話にならない。
Windows専用言語だな。
0120名前は開発中のものです。
04/02/07 13:56ID:r/NTeXJuところで、GCについて一家言あるみたいだけど、どういう苦労しました?
0121名前は開発中のものです。
04/02/07 14:10ID:XhQQhGqKグラフィックは遅いけどWindows以外のC#よりは遙かに速いし、OpenGLを直接
触れるライブラリもあるし、いずれ標準に組み込まれるそうだ。
とは言っても、C#よりはマシなだけで激しい動きのあるゲームには向いてないね。
2行目は俺に書いてんの?
GCがある環境ならオブジェクトの廃棄を出来るだけ行わず、プーリングすると
言うのが定説だったと思う。
負荷にかかわらず、確実にGCを起こしてしまう命令があればいいのにね。
0122名前は開発中のものです。
04/02/07 14:16ID:cL0eBAjGjavaのSystem.gc()って、負荷次第で無視されるんだっけ?
0123名前は開発中のものです。
04/02/07 14:17ID:r/NTeXJuC#はWindows上ではDirectXが使えるので決行マシかもしれん(いろいろ問題あるらしいが)。
まぁ、実際のところゲームでマルチプラットフォーム性なんてだれも求めてないんだよね。
かろうじてWin/Mac互換の需要があるくらいか?
0124名前は開発中のものです。
04/02/07 14:45ID:WAwZesj4かなり重要なんだがな。趣味ならしらんが。
まあ、そもそもC#は駄目すぎだが。
C#なんて勉強する時間あるぐらいなら、他に有益なことたくさんあるだろ。
0125名前は開発中のものです。
04/02/07 14:50ID:XhQQhGqK無視と言うよりも、いつ起こるか保証されないんだよ。
先送りされる可能性がある。
>>123
Windows専用ならC++やD言語の方がいいんだよね。
ツールの類ならDelphiやC++Builderでもいいんだし。
そっちの方が速いし、DirectXだって使える。
だからゲームとしては問題外。
マルチプラットフォームを考えても問題外。
0126名前は開発中のものです。
04/02/07 15:11ID:auC1MQXAどういうときに先送りにされるんですか?
0127とむ ◆0MTMwDpCZo
04/02/07 15:47ID:jNMJZ69vいいや、明日やろうっと、明日明日」
という感じじゃないでしょうか。少なくとも私個人はそうです。
0128名前は開発中のものです。
04/02/07 15:55ID:xFHMm5Bmこんなのあったよ。
http://java.sun.com/docs/hotspot/gc1.4.2/index.htm
というか、バージョンや実装によっても違うらしいよ(調べたこと無い)。
0129名前は開発中のものです。
04/02/07 16:22ID:V9eb5XAy事実上、市場はPS2かGBAだけだし。間違いなく3年はこの状態、続くだろ。
マルチってなに?
0130名前は開発中のものです。
04/02/07 16:28ID:SE+Ndv370131名前は開発中のものです。
04/02/07 16:48ID:zR3V6VxB結局優れたひとつのプラットフォームで良いじゃんってことにならない?
複数のハードを作るコスト、複数のラッパを作るコスト
無駄だよなって思う。
0132名前は開発中のものです。
04/02/07 17:01ID:xFHMm5Bm話がループする、と。
0133名前は開発中のものです。
04/02/07 19:28ID:owOqNjeAなぜC++で組まないんでしょうか?
0134とむ ◆0MTMwDpCZo
04/02/07 19:56ID:jNMJZ69v想像するに、古参開発メンバーがまだC++に移行しきれてない、というのが
挙げられますが。
0135名前は開発中のものです。
04/02/07 21:51ID:KSnlgV93どのハード、あるいは流通形態が「優れている」かを誰が判定するの?
それは誰にも分からないから、各人が作った製品を市場に並べて、そこで
淘汰させるのが自由主義経済。頭の良い官僚が唯一絶対の規格を決めて、
国民全部従おうというのが計画経済(社会主義経済)なわけだが。
0136名前は開発中のものです。
04/02/07 21:59ID:xFHMm5Bmんでその弊害が>>132な。
0137名前は開発中のものです。
04/02/07 22:02ID:zR3V6VxBいや、そらもちろんそうなんだが理想論の話だから。
マルチプラットフォームのライブラリというか、
要するにひとつの統一開発環境を前提とするのなら
当然大部分は最大公約数的な機能中心に絞られるわけだから、
ライブラリの要件を満たすだけの機能、性能があればいいわけで。
結局何が言いたいかというと、各ハードウェアの旨みを消している部分も少なからずあるから、
マルチプラットフォームな展開はそれほど重要視するべきプライオリティを
持ってないような気がするということです。
0138名前は開発中のものです。
04/02/07 22:10ID:544SV5PK0139名前は開発中のものです。
04/02/07 22:13ID:xFHMm5BmそれがDirectXだという見方もあるな。実際に理想だったのかは見たとおり。
0140名前は開発中のものです。
04/02/07 22:17ID:CLQE2Fb+つか、もう、いい加減、とりあえずCDROM突っ込んだら
PS2だろうがGCだろうがXBOXだろうがとりあえず画質悪くても動けよ!
って感じするな。
音楽CDやDVDは規格が統一されてんのにな。
ハードウェア会社の都合でなんで俺等が苦労してんだよホント。
0141名前は開発中のものです。
04/02/07 22:18ID:xFHMm5Bm0142名前は開発中のものです。
04/02/07 22:24ID:V9eb5XAy残り5%がGC。残り1%(X箱、PS1、PC-Gameなど)
ゲーム業界では珍しく、安定期と言われてる。
おそらく最低3年間は、このPS2安定期が続く。
次世代X箱も来年末。
この次世代X箱が破竹の勢いでPS2市場を駆逐するという前提で3年。
できなければ、この安定期は4年、5年と続く。
任天堂の据え置き型次世代ハードに関しても、
先行発表どころか噂すらもない。
マルチプラットフォームなどという時代違いな考えでは
光栄のようなPS2に特化した無双シリーズのような高品質な
アクションゲームを定期的にリリースできない。
どこの制作現場もPS2のみで一杯。合間にGBAのラインを走らせる。
見事なバランスが取れた状態が、ここ3年続いてきた。
ハード乱立時代であれば賢明なマルチプラットフォーム戦略も
こう太平な時代ではかえって非効率で作業工程を増やすだけの摩擦に過ぎない。
0143名前は開発中のものです。
04/02/07 22:33ID:CLQE2Fb+開発者は使い捨てられる感じムンムンだなぁ。
PS2終わったらまた次世代ハードでチューニングがはじまるわけかな。
PCで利益出せてる会社って結構いいかもしれないな。
0144名前は開発中のものです。
04/02/07 22:38ID:CLQE2Fb+Win32API+DirectX覚えるだけで重宝してもらえるし。
次世代ハードになっても影響あんまりないからね。
0145名前は開発中のものです。
04/02/08 11:32ID:iHDErArfPS2だけでいいなんて理想論だろ。
GCとPS2なら圧倒的にGCのほうが性能上だし作りやすい。
市場がシフトし始めた時、GCのノウハウ持ってなかったらまずいって思わない経営者はDQN。
どうでもいいけどソニーのハードは
「これだけ性能がでます、チューンに何年かかければ」じゃなくて
「性能はそこそこですが、チューンしなくても最高性能に近い性能が出ます」にしてくれ。
誰もPS2の性能を使い切ったソフトなんぞ作りたくないよ。
0146名前は開発中のものです。
04/02/08 11:39ID:iHDErArfゲームプログラミング相談室【Part5】
の次スレはどこ?
0147名前は開発中のものです。
04/02/08 13:18ID:+0wSiskj0148名前は開発中のものです。
04/02/08 13:21ID:d5V45uuZ0149名前は開発中のものです。
04/02/08 13:53ID:x52VAobYで、PS2やGCから言うと、C++以外ありえない。
そもそもC#は永久に論外だけどな。
ただ、ライブラリレベルではマルチというか同じ言語であると事は重要。
あと、今、安定期っていっても、ハードメーカーに近い所なら、
次世代機の開発考えなきゃ駄目だろ。
とりあえず、旧世代機で作って、次世代機の開発環境が
上がってきたら移植するとかよくあるしな。
それを考えると、現在のプラットフォームは、
PS2/PS3/PSP/GBA/GBA2/NDS/GC/GC2/PC
こんだけあるわけだ。
まあ、どっちにしろC++しかないわけだが。
0150とむ ◆0MTMwDpCZo
04/02/08 16:03ID:nQNsRzkE機種ごとのマルチの話とごっちゃになってて、なんか変だと思った。
元は言語の話なんだから、現在コンシューマやるならC++一択だと思うけど。
「なんでC#にしないんだ」と言われても、無理言うなって感じですね。
0151名前は開発中のものです。
04/02/08 16:27ID:x52VAobYしかも、ハードの機能を限界まで引き出すためにマルチ不要とか
前時代的な事いわれてもなって感じです。
0152名前は開発中のものです。
04/02/09 10:29ID:JQNRuFI9PS2でいかに短期間で海外バージョンを出すのかが重要。
ようは、日本の終わってる市場から脱却し、いかに海外で売れる製品を作るか。
おまいら、そのへんの”海外版への移植性”はどうやってる?
メッセージとかNTSC/PALで表示領域かわったりとか。
0153名前は開発中のものです。
04/02/09 16:12ID:d+0/m1/D表示物買えて、画面更新時間と音楽が同期してるものは調整してたなぁ。
ゲーム自体はそのまま未調整で出してたよ。オレんとこは。
あんまプログラム技術は影響しない部分だと思われ。特に3Dでフレーム
レート可変で対応してるならば。
0154名前は開発中のものです。
04/02/09 19:58ID:utikgW720155名前は開発中のものです。
04/02/09 22:10ID:Y3tNdlHb可変フレームレートになると動きがぎこちなくなるというケースはありうるな。
0156名前は開発中のものです。
04/02/10 01:47ID:ek8/glPzだからゲーム部分はスローがちょっとかかっちゃうけどそのままで出してたよ。
2Dのやつは。
どうしても気になるものだけ調整だな。
0157名前は開発中のものです。
04/02/10 08:53ID:6dFSbsK0> あんまプログラム技術は影響しない部分だと思われ。
3D でもリアルタイムに生成したポリゴンを使ってると、意外とハマる。
たとえばエフェクトを出すときに
1. キャラクタの前フレームの肩位置、肘位置
2. キャラクタの今フレームの肩位置、肘位置
をつないで四角形を作ってるような場合、フレームレートが下がると
四角形が細くなったりさ。見た目だけならともかく、ヒット判定も
同じような形で取ってるとバランスが変わってしまうし。
0158おらうねや ◆TAPy3blMsc
04/02/11 14:55ID:NdfAhKc/秀才プログラマのOOして合理化を図ってみるという小物の神経を
理解できないわけよ。
頭わりぃーから、整理せずには、像を把握することができねーんだろ?
だせーな。
おまえらみたいな秀才的小物では、俺のような大器のこなす仕事に
ついてこれないどころか、俺にとって摩擦でしかないわけよ。
ぶはははははは。
0159名前は開発中のものです。
04/02/11 16:13ID:QSigb1RW0160名前は開発中のものです。
04/02/11 16:50ID:vy4NCtddみたいなのは確かに摩擦ですね
0161テスト ◆wSaCDPDEl2
04/02/12 12:10ID:VWLFcpbY0162名前は開発中のものです。
04/02/12 12:11ID:VWLFcpbYhttp://www.google.co.jp/search?q=%E2%97%86TAPy3blMsc&hl=ja&lr=&ie=UTF-8&oe=UTF-8&c2coff=1&start=0&sa=N
0163名前は開発中のものです。
04/02/12 12:22ID:cCljxmmn0164名前は開発中のものです。
04/02/13 23:38ID:zc5FzXzYOOマンセー
仮想関数マンセー でも手当たりしだい仮想関数にしないでください。お願いします。inline化出来ないんですよ堪忍してください。
template(ライブラリ含む)マンセー
operatorマンセー つかoperator newオーバーライドできない言語は用なしです。
perl pythonマンセー 補助的に使うツールをちんたらC/C++で書いてる奴死んでください。
PS2のピーク性能重視もマンセー DMAマンセー でももうちょっとキャッシュミスペナルティの低いメモリが乗ってくれるとさらにイイネ(SPあるけどね)
な俺は結構少数派?結構多いと思うんだけど。
ちなみに Vertex/PixelShaderは結構好きです。GCは触ったこと無いのでワカンネ。1TRAMは少しよだれが出る。
0165名前は開発中のものです。
04/02/13 23:44ID:zc5FzXzYs/オーバーライド/オーバーロード/
逝って来る。
あーでのDはいいかも知れんね。がんばれD。ちと語感が悪い気がするけど。
0166名前は開発中のものです。
04/02/14 00:08ID:ZUeMJPwJ普通の人
0167名前は開発中のものです。
04/02/14 08:22ID:j9jTKcQj0168名前は開発中のものです。
04/02/14 10:29ID:ihmEpotk仮想関数でも、呼び出し時にクラスが確定していれば(参照やポインタを
介して呼んでなければ)インライン化できるぞ。
0169名前は開発中のものです。
04/02/14 13:39ID:+HmXh1KM転送方向を切り替えるごときでCPUが介入しなきゃならないのは最低だ
てゆうか、データと転送方法コマンドは分離しろって感じ
なぜにあんなにグダグダな仕様にしますか?
ついでにDMAコントローラはDSPモドキにして、プログラマブルにしておけばいいのに
0170名前は開発中のものです。
04/02/14 23:35ID:tc0gf/zHネタはすでに一通りでてるだろうし、そういうのぶっちゃけて話せないかね?
0171名前は開発中のものです。
04/02/15 16:22ID:j4OVULQ7話せば? 俺は止めないぞ。
0172名前は開発中のものです。
04/02/24 00:22ID:lSzrmqAb0173名前は開発中のものです。
04/02/24 02:47ID:Lbj8V9e8_/::::::::::::/
_/:::::::::::::/ ____
,..::::´::::::::::::::::::::: ̄:::::::::::._/
/:::::::::::::::::| ヽ、:::::;::::::::::::/
/:::::::::::::::::::::|´|ヽ |/_:::.::/
_ .. -─':::::::::::::::、::|`' , .!::∠
`'' ‐-.._:::::::;-‐、`(●) (●) |::::`::-、オッス! オラ、ゲPG!
=ニ二::::::::::::::::|6 \___/、| -──` ネタ切れでスレがやべえ状態だってのに
‐=.二;;;;;`‐t \/ ノ なんだかすっげえワクワクしてきたぞ
0174とむ ◆0MTMwDpCZo
04/02/25 02:09ID:DJzIpFUhディレクターが進捗から何から管理してますか。それとも、PMっぽい人がいたりします?
もし「俺んとこはこうしてる」みたいなのがあれば、教えてください。
0175名前は開発中のものです。
04/02/25 07:22ID:JwOMPtAu司会気取ってねーでお舞いがまず煽り入れるんだろうが、このクソコテが
0176名前は開発中のものです。
04/02/25 09:07ID:doxH5Y3hだからキミのほうがよっぽど鬱陶しいって。
0177名前は開発中のものです。
04/02/25 09:25ID:b84Qxvewつーか、人にもの聞くんなら、
「自分のところはこうやってる」ぐらいは言ってけよ。
#だいたいPMとディレクターなんて「いるだけ」って意味じゃなにも変わらねーだろ。
0178とむ ◆0MTMwDpCZo
04/02/25 12:59ID:DJzIpFUh残念だ。
0179名前は開発中のものです。
04/02/25 14:14ID:5dFQfAJlとりあえずこのような過疎スレにも、常時監視している人間
がいると分かっただけでも喜ぶべきでは?
0180名前は開発中のものです。
04/02/25 14:53ID:HJbE6X1Uネタ提供ならちゃんと「ネタ」になるレスしないと…
もしくは名無しで書き込めば少しは盛り上がったかも?
0181名前は開発中のものです。
04/02/25 15:05ID:fNQLVM8m>煽りしか食いつかない
のは当然の結果。
0182名前は開発中のものです。
04/02/25 15:39ID:iBmPURWY0183名前は開発中のものです。
04/02/25 16:37ID:poJV5pm60184名前は開発中のものです。
04/02/25 16:38ID:M3oWGutnまた叩きしか出来ない奴が沸いてきた。元の木阿弥だな
0185名前は開発中のものです。
04/02/25 16:46ID:iBmPURWYそんな性格の捻じ曲がった奴らばっかり。
0186名前は開発中のものです。
04/02/25 17:08ID:3BGQwmgx{
protected:
A(){}
public:
virtual void func() = 0;
protected:
int x;
};
Class B : public A
{
public:
virtual void func(){
x = 1;
}
};
Class C : public A
{
public:
virtual void func(){
x = 2;
}
};
int main()
{
B b;
b.func();// b.x = 1;になる?
}
この場合、b.funcはインライン化されるのかな?VCの場合
0187名前は開発中のものです。
04/02/25 17:11ID:3BGQwmgx{
A *pA = new B;
pA->func();
}
この場合はインライン化されそうにないけど。。。
0188名前は開発中のものです。
04/02/25 20:03ID:nlao5sUTVC++6.0
; 37 : B b;
; 38 : b.func();// b.x = 1;になる?
; 39 :
; 40 : C c;
; 41 : C* pc= &c;
; 42 : pc->func();// pc->x = 2;になる?
leaecx, DWORD PTR _c$[esp+8]
movDWORD PTR _c$[esp+8], OFFSET FLAT:??_7C@@6B@ ; C::`vftable'
callDWORD PTR ??_7C@@6B@; C::`vftable'
; 43 :
; 44 : return b.getX() + pc->getX();
moveax, DWORD PTR _c$[esp+12]
inceax
0189名前は開発中のものです。
04/02/25 20:49ID:RUjo5X55http://updown.coolnavi.com/down/file37808.swf
http://updown.coolnavi.com/down/file37809.swf
http://updown.coolnavi.com/down/file37810.swf
http://updown.coolnavi.com/down/file37811.swf
http://updown.coolnavi.com/down/file37812.swf
http://updown.coolnavi.com/down/file37813.swf
0190KE
04/02/26 19:16ID:N5RjhMPOこのレスを見た人はコピペでもいいので
10分以内に3つのスレへ貼り付けてください。
そうすれば14日後好きな人から告白されるわ宝くじは当たるわ
出世しまくるわ体の悪い所全部治るわでえらい事です
0191>>188
04/02/27 06:09ID:At5R4VHFb`hba`_kjgedcfhkl`cgcdjlnkgdbgin
_mjga`jlnigfedca`jigf`befknnkicc
nbmnn_kfb``n_b`hba`_kjgedcfhkl`c
gcdjlnkgdbgin_mjga`jlnigfedca`ji
gf`befknnkiccnbmnn_kfb``n_b`hba`
_kjgedcfhkl`cgcdjlnkgdbgin_mjga`
jlnigfedca``hba`_kjgedcfhkl`cgcd
jlnkgdbgin_mjga`jlnigfedca`jif`b
0192名前は開発中のものです。
04/02/27 09:00ID:p8lUnmUr出る杭打っとかないと、仕事なくなるからでしょ?
少なくともOO出来るやつは刈っとかないと、って魂胆が見え見え
0193名前は開発中のものです。
04/02/27 11:21ID:qix63X8y>>192の脳内世界は、相当小さそうだ。
0194名前は開発中のものです。
04/02/27 11:52ID:c36kurbRネクロノミコン確認
0195ぴろきし
04/02/27 14:00ID:NRuo/ru0なにをかたるって?
0196名前は開発中のものです。
04/02/28 02:17ID:2oHl62dvつーか、OO理解出来ませんなんて奴は、既にこの業界にいないだろ。
0197名前は開発中のものです。
04/02/28 03:34ID:LUOoZfx0>既にこの業界にいないだろ
。・゚・(ノД`)・゚・。
0198名前は開発中のものです。
04/02/28 10:02ID:8u5KB9i8>>174の場合は叩かれてもしょうがないんじゃないの。
まったく何も知らないで質問してるならともかく、
自分(ら)なりの答えを持っているような口ぶりじゃないか。
>>177の言うとおりだろ。
あとはネタが無くて飢えてるところで
ギブアンドテイクを無視して自分だけ搾取したいような
スタイルは反感買って当然。
0199名前は開発中のものです。
04/02/28 14:42ID:9X3eHmpY0200名前は開発中のものです。
04/02/29 00:33ID:UGRY4kmg進歩しない人だねぇ。
0201名前は開発中のものです。
04/02/29 00:43ID:AglgwwZy0202名前は開発中のものです。
04/02/29 02:11ID:5T+XpAfu0203名前は開発中のものです。
04/03/01 18:28ID:a8O24lJ7お前らこのスレいて楽しいか?
なんのためにいるんだ?
0204名前は開発中のものです。
04/03/01 18:30ID:a8O24lJ7それじゃお前もギブアンドテイクを無視して自分だけ搾取してるのと変わらんだろ。
0205名前は開発中のものです。
04/03/01 18:31ID:a8O24lJ7中途半端な知識で人を叩くのは楽しいしな。
0206名前は開発中のものです。
04/03/01 21:47ID:ynCb/iqnいや>>174はネタがどうこう以前に単純にむかつくから相手にしなくていいだろ。
0207名前は開発中のものです。
04/03/01 22:32ID:A5PCRQIYキミみたいなのも見ててよっぽどむかつくんだが。自覚してないでしょ。
0208名前は開発中のものです。
04/03/02 01:24ID:BEg4APUNだから俺も叩く側に回ります。
誰がどんな話を振ろうと徹底的に叩いてけなします。よろしく。
0209名前は開発中のものです。
04/03/02 03:24ID:eYRtncQE質は変わらないかもしれないが心象はまったく違うだろ
0210名前は開発中のものです。
04/03/02 03:39ID:BEg4APUNアホかてめえは!
何くだらねえレスしてんだ!
帰れヴォケ!!
0211名前は開発中のものです。
04/03/02 04:23ID:FW4tRXJ0そうやって ひとびとのこえから みみをそむけるのだ
0212名前は開発中のものです。
04/03/02 09:03ID:x+hq9hVp0213名前は開発中のものです。
04/03/02 09:21ID:lJhVVoT30214名前は開発中のものです。
04/03/02 15:02ID:t5Sl2j+r0215名前は開発中のものです。
04/03/04 04:53ID:LrJ8Nr8B0216名前は開発中のものです。
04/03/04 05:03ID:oUYH1IHpディレクターが進捗から何から管理してますか。それとも、PMっぽい人がいたりします?
もし「俺んとこはこうしてる」みたいなのがあれば、教えてください。
0217名前は開発中のものです。
04/03/04 05:14ID:LL3TzJnjこのスレの人間の環境が違いすぎるからだと思うな。
例えば会社でゲームを作ってる場合はディレクターがいるだろうが
同人で作ってる場合はディレクターがいない場合も多いだろう
0218名前は開発中のものです。
04/03/04 11:33ID:2lXRrKzMなんで自分のことを言わずに他人のこと聞き出そうとするの?
人としてコミュニケーション能力欠如してるんじゃない?
ちなみに俺のところじゃディレクターは毎日遊んでて状況なんて把握してないし、
PMなんか会社にこないよ。
進捗なんて各部門ごとの長が勝手にやってるよ。
プログラマだったらメインプログラマーだな。
ほら、話したぞ。聞きたかったんだろ。
で、お前のところはどうなんだよ。
0219名前は開発中のものです。
04/03/04 11:47ID:QnlwFryb遊んでるってあれえねーーー
0220名前は開発中のものです。
04/03/04 12:02ID:/nvsnV/iゲームプログラマーの人に聞きたい 2問目
http://pc.2ch.net/test/read.cgi/prog/1078293745/
ここだとすれ違いっぽいような気がするし。
0221名前は開発中のものです。
04/03/04 16:37ID:ZkKaf9Ns別にそんなのどうだっていいだろ。
0222名前は開発中のものです。
04/03/04 16:48ID:m1Dzm8rV話が発展する機会が失われやすくなる。
リアルでも一方的に質問するだけの奴は敬遠されるし、その逆もまた然り。
ただそれだけの話。
0223名前は開発中のものです。
04/03/04 16:53ID:a8ivu2gn0224名前は開発中のものです。
04/03/04 16:56ID:ZkKaf9Nsいちいち細かいこと言うくらいなら流せよ。
0225名前は開発中のものです。
04/03/04 18:29ID:2lXRrKzMはぁ?くだらねぇ質問かましてボコボコに叩かれてるスレだって多いだろ?
いちいち細かいこというくらいなら流せよw
0226名前は開発中のものです。
04/03/05 01:10ID:twJJiaRF0227名前は開発中のものです。
04/03/05 13:08ID:8tTnjn1N>お前らの、どんな話だろうがけなして叩いて煽り合いに持ち込む才能は素晴らしいと思う。
「泥中の蓮華」という言葉をご存知ないか?
・・・しかし、実際に咲いたのは蓮華では無く、蓮コラだったという罠。
0228名前は開発中のものです。
04/03/06 19:19ID:n6TNTpak0229名前は開発中のものです。
04/03/07 06:26ID:fRhQsXBYなぜこんな風になってしまったのか。
0230名前は開発中のものです。
04/03/08 11:12ID:pUFnNBj/0231名前は開発中のものです。
04/03/08 20:16ID:m3tJ4o920232名前は開発中のものです。
04/03/09 02:08ID:+ysVDMk40233名前は開発中のものです。
04/03/09 23:28ID:uIz6YzGn話を進めれば、自然に良スレになるんじゃね?
とりあえず400くらいまで、賛同者は発言を
『【罵倒しない】【相手にしない】運動参加中』
で囲んで話をしないか?
0234233
04/03/09 23:30ID:uIz6YzGnこんな感じで、
とりあえず>400くらいまで。
150レスくらいの間に進展なければそれまでのスレだったという事で。
どうでしょうか?
『【罵倒しない】【相手にしない】運動参加中』
0235名前は開発中のものです。
04/03/09 23:50ID:naJ1fetj罵倒と反論の境目は何処?
0236罵倒中
04/03/09 23:53ID:mDuYHIPfこっちの方が、ローカルであぼーんしやすいし
0237証言中
04/03/10 00:23ID:fy74iwds0238名前は開発中のものです。
04/03/10 00:41ID:U9cxKxZuログから既出の話題でもピックアップしてきて馬鹿っぽく釣りレスかいてみれ
0239名前は開発中のものです。
04/03/10 01:01ID:U9cxKxZu頭の悪い人達しかいないんじゃな。話題ふったって知れてるだろ
テメーのくだらねぇ感想しかでてこねんだから
0240名前は開発中のものです。
04/03/10 01:58ID:N22TjpV40241名前は開発中のものです。
04/03/10 07:08ID:lQNaeWu82chでもここまで壊れてるとこ、ないし。
0242名前は開発中のものです。
04/03/10 08:08ID:V51Y5dwKそういえば、前に罵倒することで仕事のストレスを解消してる
って宣言してた人も居たな。
0243名前は開発中のものです。
04/03/10 09:21ID:mW5YQaU5これ最強。
0244名前は開発中のものです。
04/03/10 13:06ID:U9cxKxZu業界人のありがたいお言葉がききたいならスレがダメだダメだいってないで
煽れ。釣りレスしろ。バカっぽくな。そういう作文能力もないんなら
こんなとこ見てないで本でも読んでろ。ミジンコが。
0245名前は開発中のものです。
04/03/10 13:35ID:eUzKgUZz質問なら
「目標はこれで、自分はここまでやって、これがうまくいきません。」
が必要だし、
話題を振るなら
「自分がこういうことをしたときに、こんな問題がありました。
そのときは自分はこうやって対処しましたが、みなさんはどうしていますでしょうか。」
等など、まず自分の状況を相手にわかるように説明してから話を始めろ。
これをキチンと説明しないと煽りという形でしかレスがつかないぞ。
会社で仕事をするとわかるが、PGは自分のことを説明しないで相手に理解を求めようとする奴が
多すぎる「説明しなくても、素でわかれよ!」みたいな奴。
結論からいうと「わかるわけない」。
0246名前は開発中のものです。
04/03/10 16:33ID:SDLZxk60時間足りないからな。全部説明しておまえが理解できたころにはおまえがプログラマになってる。
0247名前は開発中のものです。
04/03/10 17:18ID:mW5YQaU5足りないのではなく、使い方が下手なだけ。
0248名前は開発中のものです。
04/03/10 21:22ID:wgtoYUbQ○○=罵倒
その割にはゲームプログラミングの話題が少ないな。
0249名前は開発中のものです。
04/03/10 21:50ID:ShIcdYCx俺は今ちょっと遅い晩飯食ってる。
以上。
0250名前は開発中のものです。
04/03/10 23:26ID:xVQo/dSQ0251名前は開発中のものです。
04/03/10 23:36ID:0ROOeIsR以上
0252名前は開発中のものです。
04/03/11 02:51ID:ezViyB8W護符を持ってきたので『<』下さい。
0253名前は開発中のものです。
04/03/11 09:11ID:/2ivQVUH0254名前は開発中のものです。
04/03/11 19:29ID:vjqULOyd最近とむもこねーし。
0255名前は開発中のものです。
04/03/11 22:29ID:Ni/fMOZlあいつはいらねーよw
OOわかってなかったしw
でも、そろそろ理解してリベンジにくるかなw
0256名前は開発中のものです。
04/03/11 22:40ID:l8Xvt2CN0257名前は開発中のものです。
04/03/11 22:45ID:Ni/fMOZlよう、とむ、久しぶりw
0258名前は開発中のものです。
04/03/11 23:15ID:dJdAZUma>>1と>>6、プロクシまで使ってご苦労なこった。
0260名前は開発中のものです。
04/03/12 15:31ID:/e/zQ8Q3どっかのクソコテがアレなことするからアレなんじゃないか
アレ気取ってないで少しはアレしたらどうなんんだ
0261名前は開発中のものです。
04/03/12 17:33ID:y3yduIF0お前はコテハンにレイプされた過去でもあるのか?
0262名前は開発中のものです。
04/03/12 20:59ID:Ol13wq4L0263名前は開発中のものです。
04/03/12 21:05ID:ekevj+/z0264名前は開発中のものです。
04/03/12 21:06ID:/e/zQ8Q3ただ最初は俺ひとりだったはずが、最近叩いてる奴が一人増えたみたいだ。
こっちは頭があんまりよくなさそうだな。
0265名前は開発中のものです。
04/03/13 19:22ID:miLSEV5l0266名前は開発中のものです。
04/03/15 11:06ID:/xfL0x6Z<?php
print("コテハン");
for($i=0;$i<1000;$i++)
{
print("うざいって言ってる奴が");
}
print("うざいって言ってる奴もうざい。");
?>
0267名前は開発中のものです。
04/03/15 12:32ID:6yOWR0Un凄く便利ですね
0268名前は開発中のものです。
04/03/15 13:50ID:Ds10eA09うざっ
0269名前は開発中のものです。
04/03/16 09:27ID:cARpHevC0270名前は開発中のものです。
04/03/16 11:08ID:cKzRNwkjFC版サンサーラナーガとゲームプログラミング
いってみようか!
まずね、くそ。
いけね、おわっちゃった。
0271名前は開発中のものです。
04/03/16 12:51ID:hislNEjm0272名前は開発中のものです。
04/03/16 13:21ID:e86jfvTS牛、なにもわからずレーザー光線で牛を殺しまくるゲームと認識した。
街から出ると死がまってるw
0273名前は開発中のものです。
04/03/16 22:57ID:PRaC3s4rあのメモリでSTLを使うのは、やっぱ無謀か…
0274名前は開発中のものです。
04/03/16 23:11ID:etC5Y1to○ender○are
のヘッダうpとか
0275名前は開発中のものです。
04/03/17 18:14ID:KygP+CMgなんでカスタムアロケータ書かないの?
0276名前は開発中のものです。
04/03/18 02:16ID:ymGNyYl1というか、試してないです!ごめんなさい。
先行の実例があれば参考にしたいな、と。
0277名前は開発中のものです。
04/03/18 08:57ID:CRd+yaUg#ifndef RWCORE_H
#define RWCORE_H
中略
#endif /* RWCORE_H */
0278名前は開発中のものです。
04/03/18 09:05ID:8j8lQKul木になる
全部、動的確保なしでやんのもうやだ
0279名前は開発中のものです。
04/03/22 05:28ID:HYvph92Nジェネリックプログラミングって無駄にテクニカルになっているだけで
再利用性はともかく、書いたやつ以外理解できないコードになりがちな気がする・・・
うちじゃメインPGがテンプレートを駆使してゴリゴリ書いてて、
とりあえず動くんだけどその部分は本人しか理解できないから保守できないとか、
そういうチトやヴぁい状況になってきてるんですけど・・・
なんか、可読性という面だけ見るとアセンブラで開発してた頃みたいだ。
#ちなみにメインの人はやねうらおとModernC++Designをこよなく愛しているようでつ・・・
こういう状況ってうちだけ?おまいらの所はチーム全員がC++完全に理解してる?
0280名前は開発中のものです。
04/03/22 05:47ID:FsSu4t5u>おまいらの所はチーム全員がC++完全に理解してる?
ウチのメインPGは、
C++そのものに関する理解度は卓越してるかもしれないけど
STLや標準ライブラリは控えめにしろだの、継承は控えろだの
意味不明なコスト感覚の持ち主で疲れる。
だったら素直にC言語にしろよとw
その癖、妙で半端な仕様のへんてこmapだのへぼへぼvector
をテンプレートで自作っては、その使用を推薦する。
かんべんしてくれよ、オヤジ。
0281名前は開発中のものです。
04/03/22 09:21ID:Pg4fBZAD>ジェネリックプログラミングって無駄にテクニカルになっているだけで
>再利用性はともかく、書いたやつ以外理解できないコードになりがちな気がする・・・
これは確かにある。
もう、オブジェクト指向がどっかいっちゃって
やたら難解なコードになってるだけで大した効果が得られなくなっているのも特徴だと思う。
0282名前は開発中のものです。
04/03/22 09:48ID:EP1mY8gt0283名前は開発中のものです。
04/03/22 10:36ID:ImUxw+utちょい前:Cでポインタとキャストとマクロを駆使してゴリゴリ(ry
現在:C++でテンプレートを駆使してゴリゴリ(ry
ようは、ゲームじゃ再利用性なんて考えてる奴はいないってことでFA?
0284名前は開発中のものです。
04/03/22 11:21ID:Pg4fBZADそーゆーあきらかにアレなのはどうしたもんだろうね。
0285名前は開発中のものです。
04/03/22 14:58ID:mizyKUiL再利用は考えない。
でも、次にあるかもしれない....で関数化>ライブラリ化>クラス化と
いろいろ考えるうちに回り道がはじまる。
回り道が回り道を誘発しコードがかえって複雑化する。
0286名前は開発中のものです。
04/03/22 17:34ID:CAqVDZh7禿同
テンプレートに凝るバカはアセンブラに凝るバカと同じ匂いがしますので、近寄りたくありません。
つーん
0287名前は開発中のものです。
04/03/22 18:16ID:2rFWPdy90288名前は開発中のものです。
04/03/22 18:27ID:VKVDZ6cl再利用できないのはインターフェースの問題でしょ
0289名前は開発中のものです。
04/03/22 19:38ID:yHdHnnafスーパーのprivateじゃないメソッドが全て使用可能になるよね?
これって、100個のメソッドを持つクラスから100個のメソッドを持つサブを作ると
計200個のメソッドになって激しくウザい状況になるし、
サブで制限出来るようになるとわかりやすくなると思わね?
仮想クラスなんて最大公約数的仕様になってる訳で、大概上のようなウザい様相になる。
0290名前は開発中のものです。
04/03/22 19:54ID:KKmtxFMIそんなこと考えたこともなかったよ
0291名前は開発中のものです。
04/03/22 20:01ID:VKVDZ6cl0292ツッコミ中
04/03/22 20:02ID:E3B1EOs10293名前は開発中のものです。
04/03/22 20:52ID:SSINfxg/privateやprotectedで継承してusingでpublicに移せばいいじゃないか
0294名前は開発中のものです。
04/03/22 20:55ID:lWDRro4HだいたいジェネリックとOOは全然関係ない
0295名前は開発中のものです。
04/03/22 21:48ID:EP1mY8gtHaskellとか見れば、C++がテンプレートでものすごく汚く解決していることを
普通に(かつ高度に)実現しているのが分かると思うよ。
そのかわり所謂高級アセンブラ的な部分がほとんどなくなってるわけだけど。
0296名前は開発中のものです。
04/03/22 21:52ID:EP1mY8gthttp://www.radiumsoftware.com/0305.html#030516
0297名前は開発中のものです。
04/03/22 22:57ID:Inxecqfd結局、C++でごりごりやるしかないわけだが
いつになっても所詮は組み込み系だよ
0298名前は開発中のものです。
04/03/23 00:58ID:yvvzZFdo無駄に難しく作られたプログラムだとは本当だろうか?
0299名前は開発中のものです。
04/03/23 01:09ID:0I9ZoHrZ0301名前は開発中のものです。
04/03/23 11:21ID:PfXAGYNf何でも使えるようにするから、読みやすさも考えずになんにでも使っちゃう
人が出てくるんだ。しかも、何か高度なことをしているような気にさせて
くれるのが、そういうのを加速しちゃう原因か。
0302名前は開発中のものです。
04/03/23 13:29ID:0hiPRE97コードの再利用性と可読性は一見無関係に思えて
実は非常に重要な関連があると思うぞ。
そもそも再利用性とは何の(誰の)ためのものか?って事を考えると、
チーム開発などで"自分以外の誰か"がコードを使いまわすことで
新たに書き起こす手間を省きましょうというのが本来の目的だと思う。
しかも、その"誰か"が自分と同等以上の能力を持っている保証は無く、
再利用したコードのデバッグは自分以外の奴がやる事になるかもしれないし、
そもそもコードが再利用されるときに自分はその場にいないかもしれない。
そのコードが本当に"再利用可能"であると言うのなら、運用面から見た再利用性も
考えた実装方法を追求する必要があると思う。
開発効率の向上を目指すのならば、単なる技術屋の自己満足ではなく
多くの人に理解でき、デバッグもしやすい書き方をするということは重要だと思う。
そりゃ、自分だけが使いつづける分にはトコトンやっても良いんだろうけど、
テンプレートバリバリのテクニカルオナニーライブラリなんて
誰も引き継げなくて1から作り直すってことも多いので…
0303名前は開発中のものです。
04/03/23 16:36ID:/nW9j/EU0304名前は開発中のものです。
04/03/23 20:30ID:fa9FBMUy激しく賛成、再利用が出来ないプログラマのコードは必ずと言って良いほどインターフェイスの重要性を軽視している
実装に対してプログラムをするな、インターフェイスに対してプログラムせよというオブジェクト指向の基本中の基本ができない無い事が多いと思う。
これがキチンと出来ていれば、実装コードは多少汚くても、交換するのが簡単なのだが
いくらコードを丁寧に書いても、この部分がおざなりになっているコードは煮ても焼いても食えないものになる。
テンプレート以前の問題なんだよな。
0305名前は開発中のものです。
04/03/23 20:45ID:0hiPRE97基本的には>>288と>>304の言いたい事はわかるし同意するんだけど・・・
>これがキチンと出来ていれば、実装コードは多少汚くても、交換するのが簡単なのだが
それは交換が可能なメンツが集まってる場合の話だと思うが・・・
自分がいなくなったら他の奴にそのコードを再利用してもらえるかってこと。
コードを読んで理解できなきゃ再利用したくないよね。
たしかにインターフェースのデザインがしっかりしてれば交換は可能かもしれないけど
交換するって事は、インターフェースはそのままアルゴリズムの部分を書き直すってことでしょ?
そういう状況で「コードの再利用が出来てる」と言って良いのかは疑問だな。
0306名前は開発中のものです。
04/03/23 20:53ID:0hiPRE97簡単に言うと、
どんなに再利用性を考えたデザインのコードでも
自分以外のプログラマが、一見して理解するのに時間がかかると感じるようなものだと
「このコードを追っかけてバグを見つけるぐらいなら自分で書いちゃえ」
って考えてしまう奴が多いので、なるべく理解しやすいレベルのコードを書くべき。
・・・ってことです。
0307名前は開発中のものです。
04/03/23 20:54ID:PMWtRlHbそれは実績によるんじゃないの?
0308名前は開発中のものです。
04/03/23 21:05ID:fa9FBMUyやめる前にはドキュメントを残してもらえばいいんじゃないかな。
ソースコードなんてどんなに綺麗に書いた所で、作るより読むほうが三倍手間がかかる訳で、
インターフェイスを見て分らないものは、ソースコードをいじろうなんてあまり考えないですね。
この辺りはまあ趣味の問題としても、オブジェクト指向ではインターフェイスを手抜きすると設計が崩壊する、
肉を切らせず骨を断たれては堪らないと思うので。
ソースコードを丁寧にと言っていたら、いつの間にか重箱の隅を突付いていたなどと言う事が無いように自分に言い聞かせてます。
時々見かけます、やたらに神経質なんだけど本質を突いていないので、メチャクチャになっている人を。(こういう人がいるとチーム内の士気がやたら落ちて迷惑なんですよね)
そんな風な人にだけは成りたくないものです。
0309名前は開発中のものです。
04/03/23 21:26ID:xgtw6Jovテンプレートも使う実力派プログラマの両方を見たことがある
テンプレート使ってるからはなから読めないダメだって言ってる
人は勉強が足りない怠け者じゃないかな
0310名前は開発中のものです。
04/03/23 21:32ID:02H0l1Zu| ≡ ('A` )
│ ≡ 〜( 〜)
↓ ≡ ノ ノ
0311名前は開発中のものです。
04/03/23 21:35ID:Yrm+HBGz凡庸な人間が10人でやる仕事が一番多い。
0312名前は開発中のものです。
04/03/23 21:59ID:rzkxl8ISだれもそんな事言ってなさげ
0313名前は開発中のものです。
04/03/23 22:14ID:0fFfy0e5ほっとけばよいのです
テンプレートばかり使う自己満足を通過しなけりゃテンプレートも使う実力派プログラマにはなれない訳だし。
オブジェクト指向の出立ちの頃もオブジェクトが読めないからダメだという人間はいくらでも居たし。
0314名前は開発中のものです。
04/03/23 23:44ID:ZvtfbrtIいや、そもそもテンプレー厨はOOの本質を見抜けず、
とりあえず使い方だけわかるテンプレートで技巧を凝らしてしまうところに問題がある。
テンプレー厨は自分がテンプレー厨であることに気づけない。
0315名前は開発中のものです。
04/03/24 00:39ID:8nBkrhzz別に構わないと思うけど、始めなければ始まらないし。
それにtemplateを使うならオブジェクト指向にこだわっていると視野が狭くなり過ぎる。
template は行き着くところまで行き着けばプログラミングではなくメタプログラミング
本質的にはプログラムを生成するプログラムでオブジェクト指向は
通常のプログラムでのデータ構造の設計的位置づけになる。
データ構造の設計は重要だからオブジェクト指向は無視できないが、
だからといって操作対象はオブジェクト指向である必要性もないだろう。
たとえば効率的なコードを書きたいが難解だから、
記述内容とは違うコードをそこに書き出して記述内容は
意味的に簡単になるようにやってみようとかね。
Gems にもあったよな気がする。
ゲームに特化しないならboostなどはネタの宝庫だろう。
0316名前は開発中のものです。
04/03/24 00:46ID:dykDPviV下手なソース書く香具師のドキュメントは、
ソース以上に危険な罠。
下手ソースを読む能力もプログラム能力の一部で、
経験等による能力差が大きい罠。
しかし、テンプレばかり使うテンプレ厨なんて見たことないな。
テンプレなんてSTLとBoostとあと汎用的な所に自前テンプレ使うぐらいが
ほとんどじゃ?
Lokiばりのコードを自作して使いまくってる香具師とかいるのか?
0317名前は開発中のものです。
04/03/24 00:59ID:2iAf0hb8>しかし、テンプレばかり使うテンプレ厨なんて見たことないな。
やねうらおのことかと思たよw
0318名前は開発中のものです。
04/03/24 01:14ID:4/KoOJE2だからテンプレートによるジェネリックプログラミングと
オブジェクト指向プログラミングは
まったく別のプログラミングパラダイムなんだって
STLの設計者はJavaが嫌いだと
RadiumSoftwareに書いてあった
0319名前は開発中のものです。
04/03/24 01:19ID:8nBkrhzzいやはや、ちとキチガイ神経症ヤロウにグチグチやられていて、
発言煽り気味だったかな
0320名前は開発中のものです。
04/03/24 01:20ID:k9+/HUJp>RadiumSoftwareに書いてあった
Java好きの俺がSTLの関数オブジェクトを多用するコードに
馴染めない理由が分かった気がする。
0321名前は開発中のものです。
04/03/24 01:30ID:2iAf0hb8Java好きなら、Java+Jakarta Velocity でも
ジェネリックプログラミングは可能なんじゃないか?
とたいして知りもしないのに言い放つテストファースト。
0322名前は開発中のものです。
04/03/24 10:40ID:vj19C3d5http://objectclub.esm.co.jp/JavaGenerics/
http://www.mamezou.com/tec/Tips/javaGenericsVsCppTemplate/article2.html
C++のとはだいぶ違うみたいだけど。
0323名前は開発中のものです。
04/03/24 11:18ID:AnwxV13Lやっぱりジェネリックプログラミングが今後の流れになっていくのかな
構造化→オブジェクト指向→ジェネリック
みたいな。
ちと、真面目に勉強してみるか・・・・鬱
0324名前は開発中のものです。
04/03/24 14:03ID:qtDYhwcnいい解説ってないかなぁ
0325名前は開発中のものです。
04/03/24 14:27ID:vj19C3d5>ジェネリックプログラミングはソフトウェアコンポーネントを汎用化すること であり、
>それによってコンポーネントが多様な状況下で簡単に再利用できるよう になります。
で、コレを実現するための「(C++の)技法」が一杯あるわけだけど、普通にゲーム作ってる限り
boostとかの成果の一部を使えればいいんであって、そういう技法を真面目に追求なんてべつに
しなくてもいいではないかな?
へたに「技法」を使ってしまうと、糞コード量産してテンプレ厨とか言われかねない罠。
0326名前は開発中のものです。
04/03/24 18:59ID:4/KoOJE2と思ったらテンプレートでできないか検討する
ぐらいでちょうどいいと思われ
0327名前は開発中のものです。
04/03/29 06:06ID:HnL0boZh0328名前は開発中のものです。
04/03/29 09:52ID:htU9rKwGところで、STLって使えるけど使えないと思いませんか?
vectorの場合、100要素しかないかもしれないし、1万要素になっちゃう
かもしれないvectorで、reserveしとくのもなんかダサいし、かといって
要素を追加すると1万要素もmemcpyなんて事態も恐ろしい。
かといって、listもmapもsetもなんかヒープに1万個の要素のメモリ断片
を作るかと思うと恐ろしい。
なんて事を考えるとSTLを使ってしまうけど使いにくいです。
iteratorもキモイですね。[]オペレーターもキモイです。
かといってキモさを払拭するために、ジェネリックにする事が存在理由になっている
スパゲッティコードを読むきはおきません。それは怠惰がゆえかもしれませんが、
しかし、そこに、とてつもない不毛感、虚脱感、無益感、あらゆる世の中の無意味さを
感じてしまうのです。なんだろう、複雑さの割には効果がないっていうんでしょうか。
中途半端な理解による誤解かもしれませんが。
0329名前は開発中のものです。
04/03/29 10:01ID:uUZopZ9n0330名前は開発中のものです。
04/03/29 10:09ID:htU9rKwGというか、何のための"vector"なのかということですね。
最初っからデータ量がわかっているなら、素直にnew type[ numElements]
でいいわけですよ。
予測として余分にリザーブしてある領域を超えると、とてつもない
メモリー帯域の浪費が起こる。
この辺が美しくないでしょう?
かといって何かいい手があるかというと”?”ですけど、だったら
最初っからないほうが潔いんじゃないかって考えたりします。
0331名前は開発中のものです。
04/03/29 10:40ID:uUZopZ9nこれでサイズ変更時に、メモリの再確保と転送をデータ型に合わせて、
一つ一つ書く方が潔いと思うのならそうすればいい。
ただしデータ設計の問題をSTLの問題にするのは本末転倒。
0332名前は開発中のものです。
04/03/29 11:34ID:htU9rKwGデータ設計もクソもないでしょう?
問うている問題自体が判ってないよ。
0333名前は開発中のものです。
04/03/29 11:36ID:htU9rKwG0334名前は開発中のものです。
04/03/29 13:18ID:uUZopZ9n>一つ一つ書く方が潔いと思うのならそうすればいい。
これが読めないの?
STLはあくまでも特定のアルゴリズムで型の扱いを汎用的にするためのものであって、
メモリーサイズが変化する事に万能に対応できる魔法の道具ではない。
そんな魔法が存在しない以上は、負荷軽減を目的とする場合、
データの転送が最小限で済むように、データをグループ化したりするわけだが。
で、潔い方法とやらは、メモリの再確保に関してSTL以上に簡潔に書けるの?
ぜひ
>new type[ numElements]
で、どうやって
>メモリー帯域の浪費が起こる。
が回避されるメモリ再確保に対応するのか、その魔法を見せてもらいたい。
0335名前は開発中のものです。
04/03/29 13:27ID:wLKWJAcK0336名前は開発中のものです。
04/03/29 13:29ID:uUZopZ9n>new type[ numElements]
これは外そう。
・条件
データ設計は直は見直さず、「メモリー帯域の浪費がおこらない」、
メモリーの再確保を行うための魔法の呪文。
0337名前は開発中のものです。
04/03/29 13:30ID:uUZopZ9n↓訂正
>データ設計は見直さず、「メモリー帯域の浪費がおこらない」、
0338名前は開発中のものです。
04/03/29 14:00ID:bi8ippWhうーむ、こうやってオレコンテナライブラリが増えていくのだろうか…
0339名前は開発中のものです。
04/03/29 14:08ID:xpiQWYibそんなの臨機応変に使えば?だれも強制してないよ。
潔いのがいいならCでもアセンブラでも使えばいいし
C++でもSTL使いたくなきゃ使わないで済むしね。
それなのにキモイから不要とか潔くないって意見を押し付けるのはどうかと。
0340名前は開発中のものです。
04/03/29 14:53ID:ZUeEszIy>STLはあくまでも特定のアルゴリズムで型の扱いを汎用的にするためのものであって、
>メモリーサイズが変化する事に万能に対応できる魔法の道具ではない。
糞設計は、STL使いの罪。それを許してしまうのは、STLの罪。
0341名前は開発中のものです。
04/03/29 16:03ID:htU9rKwG『予測として余分にリザーブしてある領域を超えると、とてつもない
メモリー帯域の浪費が起こる。
この辺が美しくないでしょう?
かといって何かいい手があるかというと”?”ですけど』
って書いているのに、
『潔い方法とやらは、メモリの再確保に関してSTL以上に簡潔に書けるの?』
って反論するかよふつう。完全に論点をはずしているんだよね。
問題を論理的かつ的確に見極めるのもプログラマの能力のうちだよ。
0342名前は開発中のものです。
04/03/29 16:19ID:ZUeEszIyそこで「本当の論点は何か?」を書かないくせに、
やたらと「論理的・的確な」という言葉を濫用するのも
プログラマの能力って奴ですか?
0343名前は開発中のものです。
04/03/29 16:31ID:bi8ippWh>プログラマの能力って奴ですか?
煽りの能力です(文章の荒れ具合を見るともしかしたら天然なのかも知れないけど)。
0344名前は開発中のものです。
04/03/29 17:28ID:I5CAVnSY>予測として余分にリザーブしてある領域を超えると、とてつもない
>メモリー帯域の浪費が起こる。
解決方法は、
>かといって何かいい手があるかというと”?”ですけど
そして
>最初っからないほうが潔いんじゃないかって考えたりします。
という、とんちんかんな結論を出すと。
どうしても必要な場合に、いちいち再確保と転送を自分で書くよりは、
テンプレートを使って自動的にやってくれた方が楽でしょ?
それだけの話なのに、いったい何が言いたいのか、
>論点
がさっぱり見えない。
0345名前は開発中のものです。
04/03/29 17:37ID:I5CAVnSYlistを使うと断片化が起こる。
かといって何かいい手があるかというと”?”ですけど
だったら最初から使わない方が潔いのでは?
論点はこれでOK?
0346名前は開発中のものです。
04/03/29 17:58ID:bi8ippWh>iteratorもキモイですね。[]オペレーターもキモイです。
>かといってキモさを払拭するために、ジェネリックにする事が存在理由になっている
>スパゲッティコードを読むきはおきません。それは怠惰がゆえかもしれませんが、
つまり愚痴が言いたいだけ、と。
0347名前は開発中のものです。
04/03/29 19:24ID:htU9rKwG>だったら最初から使わない方が潔いのでは?
そうそれを言ってんの。やっと言っている事を判ってくれたね。
リストなんかだったらさ、
typedef struct _tagWhatever
{
struct _tagWhatever* next;
struct _tagWhatever* prev;
...
public:
void insert( _tagWhatever* pElem );
void remove( _tagWhatever* pElem );
...
} whatever;
でいいわけさ。
別にSTLを否定しているわけでもないよ。
ただ、そのヒープの原理上、どうしてもSTLの利点が生ききらない
よなって愚痴っているだけ。
それを、「設計上の問題をSTLの問題に摩り替えている」とかいうから
なんなん?って思うわけよ。
0348名前は開発中のものです。
04/03/29 19:41ID:3c6HG4oCおまえの考えている「STLの利点」って何よ?
0349名前は開発中のものです。
04/03/29 20:17ID:I5CAVnSY>typedef struct _tagWhatever
断片化が解決されるわけでもなく、手間がかかるようにしか思えないのに、
これを型ごとに毎回書く利点は?
0350名前は開発中のものです。
04/03/29 20:50ID:htU9rKwG>断片化が解決されるわけでもなく
基本的には、そうだ(文脈的に無視しちゃっていいが、厳密には、
STLでも一要素単位でヒープ領域が割り当てられるわけじゃない)。
>これを型ごとに毎回書く利点は?
型は関係ないよね。もし問題にするなら汎用コンテナの問題を挙げてくれよ。
templete = STLじゃないよ?わかってんのかな?
Listに限った、コンテナの再利用でいうなら、これでいいわけ。
templete < typename T >
class CList
{
CList* next;
CList* prev;
T CONTAINER;
public:
void insert(...);
void remove(...);
};
ってやりゃいい。
0351名前は開発中のものです。
04/03/29 20:53ID:I5CAVnSYそれでわざわざ自分で実装する利点の説明は?
0352名前は開発中のものです。
04/03/29 21:17ID:htU9rKwG>それでわざわざ自分で実装する利点の説明は?
仕組みを理解している人間だったら、そんなの訊くまでもないでしょ。
STLはvector, list, setなどのデータ構造間の汎用性を追求している
がための複雑さとオーバーへッドがある。
って、1から10まで書かんとわからんか?
っていうか、確かに煽り半分で書いた事は書いたが、それは
プロが出てきて有意義な話ができるかなと期待したんであって、
こんな意味のない話をしたかったわけじゃないんですが。
もうやめましょうこれ。時間の無駄です。
0353名前は開発中のものです。
04/03/29 21:23ID:izxLwDgdお願いですから、まだ逃げないでください。
0354名前は開発中のものです。
04/03/29 21:29ID:I5CAVnSY独自のアロケーターを内蔵しているSTLに、
>>350のソースで勝ち目があるようには思えない。
コードの質を落とした車輪の再発明なら、
>もうやめましょうこれ。時間の無駄です。
確かにその通り。
0355名前は開発中のものです。
04/03/29 21:41ID:BJ/4An5bツールならがんがん使うんだが・・
0356名前は開発中のものです。
04/03/29 21:48ID:izxLwDgdデータ量の上限を設定して、想定した範囲内に収めるように作ると思います。
0357名前は開発中のものです。
04/03/29 22:01ID:xV6Fcr2Y0358名前は開発中のものです。
04/03/29 22:30ID:htU9rKwGちょっとはSTLのコードを読んでからモノをいおう。
>>354
文脈考えてね。「型ごとにlistクラス」つくんのかよって言われたから、
テンプレートつかってlistコンテナをこうやって組むんだよって
サンプルを書いたんだろうが。
>>354
>独自のアロケーターを内蔵している
newオペレーターオーバーライドだろ。
そんなの実装するの当たり前じゃん。
その他、find,sort等色々なメソッドも実装するよって、こんなとこに
一々書いてられるかボケ。
あのさ、おまえら人が掲示板で具体的に説明するために
ちょろっと書いた(コピペですらないよ)サンプルコードに
いちいちうるさいんだよ。
>>357
きみとなら仕事を一緒にやっていけそうだ。
0359名前は開発中のものです。
04/03/29 22:39ID:I5CAVnSYつまり結局はSTL同様、複雑になるわけなんだけど、
その車輪の再発名でSTLには無いオーバーヘッドを回避する方策は?
0360名前は開発中のものです。
04/03/29 22:55ID:izxLwDgd先生!、オーバーロードとオーバーライドの区別はついてますか?
0361名前は開発中のものです。
04/03/29 23:16ID:htU9rKwG>>341
をよめ。何回もナンカイモナンカイモオナジゴトヲイワセルナ。
>>360
タマニツカネーンダヨ。っていうか、まぁ英文C++本でも"overload"になっているがだな、
"override"のほうが現象を的確に表している。"overload"は不正確だ。
英語が堪能なオレにとってはどうしても自然な方を使ってしまうんだな。
0362名前は開発中のものです。
04/03/29 23:20ID:htU9rKwGオレのいっているオーバーヘッドは、メモリ帯域の無駄の話じゃない。
データ構造間の汎用性を持たせたことによるメソッドのオーバーヘッドの話。
0363名前は開発中のものです。
04/03/29 23:26ID:I5CAVnSYつまり、
>かといって何かいい手があるかというと”?”ですけど
何も解決しないまま、車輪の再発明だけ行うわけなのか。
それが潔いと思えるようになるのは、一生かけても難しい。
0364名前は開発中のものです。
04/03/29 23:29ID:izxLwDgd>英語が堪能なオレにとってはどうしても自然な方を使ってしまうんだな。
先生!、かなり苦しいです。
0365名前は開発中のものです。
04/03/29 23:33ID:BJ/4An5bゲームでは再利用可能なコンテナが確かに必要だが、
STLの設計はゲームに最適ではないだけの話じゃないか
ゲーム向け俺コンテナを持ち寄って
boostに寄贈ぐらいすればこのスレも役に立ったといえるな
0366名前は開発中のものです。
04/03/30 00:03ID:fcRSAwJm潔いの話題違い。
メモリバンド幅の話と、メソッドのオーバーヘッドの話がごっちゃになってるよ。
>>364
あのな、overloadとoverrideを辞書で調べてみ。
http://www.infoseek.co.jp
>>365
>馬鹿だなあお前ら、
>ゲームでは再利用可能なコンテナが確かに必要だが、
>STLの設計はゲームに最適ではないだけの話じゃないか
まぁ、そういうことだな。
0367名前は開発中のものです。
04/03/30 00:21ID:F14WhfVI0368名前は開発中のものです。
04/03/30 00:25ID:rluXyNAm何の解決方法も示めさず、言い訳で逃げ回り、
用語の誤用に関しても、素直に間違いを認めずまた言い訳。
データの汎用性のオーバーヘッドを問題にしても、
型ごとに書くのかと聞かれるとその時だけサンプルはテンプレート。
複雑さを問題にしても、機能の面を指摘されると、
STL同様の機能を実装するという。
既存のものに対して、利点は特にないけれど、とにかく自分で実装。
滅茶苦茶で突っ込みきれない。
0369名前は開発中のものです。
04/03/30 00:33ID:+WlTCBa00370名前は開発中のものです。
04/03/30 00:48ID:fcRSAwJm>結局のところ、「メソッドのオーバーヘッド」に関しても、
何の解決方法も示めさず、
メモリー最配置の時に発生するメモリバンドの無駄はどうにもならないが、
「メソッドのオーバーヘッド」に関しては、
「STLはvector, list, setなどのデータ構造間の汎用性を追求している
がための複雑さとオーバーへッドがある。」って問題提起し、
ゲーム用に贅肉を削ぎ落としたバランスの取れたコンテナをちょろっと
書けばメソッドのオーバーヘッドは軽減できるっていってんだよ。
>用語の誤用に関しても、素直に間違いを認めずまた言い訳。
Override 誤用じゃないよ。適切な英語だ。
>利点は特にないけれど
あるよ。ゲームにとっては重要な利点だよ。
シロートとは付きあいきれん。
0371名前は開発中のものです。
04/03/30 00:51ID:fcRSAwJmtry catch例外うざい。
マクロで↓みたいな例外処理いれてる。
DBG_ASSERT( bool bEval, TCHAR* szMessage, UINT uErrorType );
0372名前は開発中のものです。
04/03/30 00:51ID:F14WhfVIそれは興味深いですね。具体例をいただけますか?
0373名前は開発中のものです。
04/03/30 00:54ID:tIdFGMagテストプログラムとかツールとかじゃなくて
本当に商品でSTL使ってるのか?
どこ製のSTL?
0374名前は開発中のものです。
04/03/30 01:00ID:F14WhfVISTLport。設定マクロをたくさん提供してくれるのでいいと思います。
例外発生時の挙動や、メモリ管理の設定もいろいろカスタマイズできます。
0375名前は開発中のものです。
04/03/30 01:00ID:sI1+31eE>Override 誤用じゃないよ。適切な英語だ。
え?この場合オーバーライドがC++的にも正しくね?
で、オレは最適でないのは承知の上で楽だから使ってるよ(別にキモイとかどうでもいいし)。
クリティカルな部分だけ特別に最適なのを作る(ちうのは普通の最適化戦略だが)。
なので、別に愚痴りたくは無いかな。
愚痴りたいのは、STL使わせてもバグ埋め込むし、かといって普通にリスト構造とか作ら
せてバグを埋め込んでしまう新人君(に使わせるためのSTL)。
Effective STLシリーズを読まなきゃ使い物にならないのが一番大きいオーバーヘッドだw
0376名前は開発中のものです。
04/03/30 01:06ID:X6VmrFA0トレースとか非常にうざいんだけど、何か良い方法ある?
0377名前は開発中のものです。
04/03/30 01:08ID:JHyHUQlW>Override 誤用じゃないよ。適切な英語だ。
まぁ、君の意見は正しいと思うよ。君の世界の中ではね・・・
コウヤッテSTL厨が出来上がっていくわけか。
アセンブラ厨の言ってた事とかわらんなぁ。
何かと言うと「俺が正しい」「俺は間違ってはいない」
ヤレヤレ棚
0378名前は開発中のものです。
04/03/30 01:15ID:OjGk+Cgx0379名前は開発中のものです。
04/03/30 01:20ID:fcRSAwJmなんで書き込む前に自分で調べないかな?これで最後ね。時間のムダだし。
例えば、vectorの[]オペレータ一つとっても
vector <int> vInt;
...
int& r = vInt[idx];
とやるだけで、このようにコードが実行される(読みにくいけど長すぎるので)。
まぁ自分で調べりゃ済む事だし。
reference operator[](size_type _Pos) { // subscript mutable sequence
return (*(begin() + _Pos));}
iterator begin(){ // return iterator for beginning of mutable sequence
return (iterator(_Myfirst));}
iterator(pointer _Ptr) : const_iterator(_Ptr) { // construct with pointer _Ptr }
const_iterator(_Tptr _Ptr) { // construct with pointer _Ptr
_Myptr = _Ptr; }
0380名前は開発中のものです。
04/03/30 01:20ID:fcRSAwJmiterator begin() { // return iterator for beginning of mutable sequence
return (iterator(_Myfirst)); }
reference operator[](size_type _Pos) { // subscript mutable sequence
return (*(begin() + _Pos));}
iterator operator+(difference_type _Off) const { // return this + integer
iterator _Tmp = *this; return (_Tmp += _Off); }
iterator& operator+=(difference_type _Off) { // increment by integer
this->_Myptr += _Off; return (*this); }
reference operator*() const { // return designated object
return ((reference)**(const_iterator *)this); }
const_reference operator*() const { // return designated object
return (*_Myptr); }
reference operator[](size_type _Pos) { // subscript mutable sequence
return (*(begin() + _Pos)); }
0381名前は開発中のものです。
04/03/30 01:20ID:fcRSAwJmreturn (iterator(_Myfirst)); }
iterator(pointer _Ptr): const_iterator(_Ptr) { // construct with pointer _Ptr }
const_iterator(_Tptr _Ptr) { // construct with pointer _Ptr
_Myptr = _Ptr; }
iterator(pointer _Ptr) : const_iterator(_Ptr) { // construct with pointer _Ptr }
iterator begin() { // return iterator for beginning of mutable sequence
return (iterator(_Myfirst)); }
reference operator[](size_type _Pos) { // subscript mutable sequence
return (*(begin() + _Pos)); }
iterator operator+(difference_type _Off) const { // return this + integer
iterator _Tmp = *this; return (_Tmp += _Off); }
iterator& operator+=(difference_type _Off) { // increment by integer
this->_Myptr += _Off; return (*this); }
reference operator*() const { // return designated object
return ((reference)**(const_iterator *)this); }
const_reference operator*() const { // return designated object
return (*_Myptr); }
以上。
0382名前は開発中のものです。
04/03/30 01:27ID:OjGk+Cgx0383名前は開発中のものです。
04/03/30 01:28ID:fcRSAwJm>で、オレは最適でないのは承知の上で楽だから使ってるよ(別にキモイとかどうでもいいし)。
>クリティカルな部分だけ特別に最適なのを作る(ちうのは普通の最適化戦略だが)。
だね。オレもそう。STLの問題点がわかってりゃ適材適所で使いこなせるってことだな。
0384名前は開発中のものです。
04/03/30 01:32ID:NFwNOG+Iマルチスレッドで使うとロックコードが入るだけ。
0385名前は開発中のものです。
04/03/30 01:35ID:OjGk+Cgxtemplateの利点のひとつだしね(メタプログラミングというのか?)
STLなんかも、もろコンパイラの最適化前提。
0386名前は開発中のものです。
04/03/30 01:37ID:fcRSAwJm自分で調べてみなって。上のCコードどおり最悪なことになっているから。
ちなみに普通の配列だったら4stateくらいで済む話です。
0387名前は開発中のものです。
04/03/30 01:39ID:OjGk+Cgxいや、調べてみていってるんだが。
最適化を掛けなきゃすごいことになったが、掛ければ配列と変わらなかったけど。
ちなみにgccの-O2で確認。
0388名前は開発中のものです。
04/03/30 01:42ID:F14WhfVIおつかれさまでした。
ちなみに、STLportのHEADでは、
reference operator[](size_type __n) { return *(begin() + __n); }
iterator begin() { return this->_M_start; }
_Tp* _M_start;
以上(@stlport/stl/_vector.h)でした。
そういうことなので、貼っていただいたモノはSTLのオーバーヘッドの具体例とはいえませんね。
おそらく、「中途半端な理解による誤解」でしょう。
STLportの使用をお勧めしますよ。
0389名前は開発中のものです。
04/03/30 02:45ID:fcRSAwJm>>385
>全部インラインになって最適化されるとかなり効率的なコードになるってのが
>templateの利点のひとつだしね(メタプログラミングというのか?)
templateの利点?実行コードの話だよね?
効率的なコードになるのはinlineの利点であって、templateとは関係ないが。
templateはむしろ、複数の実体が生まれるっていう副作用以外、コード効率への影響はない。
>>387
>掛ければ配列と変わらなかったけど。
それはありえないね。
>>388
それじゃまだ甘い。まず+オペレーター部分が抜けてるでしょ?
そして+オペレーターから更に続くわな。
その字面通りだったら、char型でもない限り、まともにアドレスとれないよ。
トレースしてみ、ほかにも呼ばれるものがいっぱいあるよ。
字面ほど単純じゃないのがSTL。
0390名前は開発中のものです。
04/03/30 02:52ID:JHyHUQlW>それはありえないね。
・・・こいつには何を言っても無駄かと。
久々に真性のヴァカを見たよ。
0391名前は開発中のものです。
04/03/30 03:09ID:F14WhfVIあーすいません。抜けてましたね。
typedef valute_type* iterator;
typedef valute_type& reference;
ということで、続く + も * も、共に組み込み演算子ですよ。
0392名前は開発中のものです。
04/03/30 03:22ID:TrwYR1M1えっと、Cの基本が全く分かってない人ですか?
0393名前は開発中のものです。
04/03/30 06:37ID:NUfc9Rms00000a1 00 00 00 00 mov eax, DWORD PTR ?idx@@3HA ; idx
000058b 0d 04 00 00
00 mov ecx, DWORD PTR ?vInt@@3V?$vector@HV?$allocator@H@std@@@std@@A+4
0000b8d 04 81 lea eax, DWORD PTR [ecx+eax*4]
; 15 :
0394名前は開発中のものです。
04/03/30 07:04ID:SghGZQph0395名前は開発中のものです。
04/03/30 07:29ID:rluXyNAm・間違えても言い訳はせず、素直に認めることは大切。
・あり得ないと決めつける前に、自分で確かめることも大切。
0396名前は開発中のものです。
04/03/30 09:44ID:DwcoFR6t0397名前は開発中のものです。
04/03/30 09:56ID:OjGk+Cgx>効率的なコードになるのはinlineの利点であって、templateとは関係ないが。
型の安全性を保ちつつマクロのようなことが出来るという意味で、両方だよ。
テンプレートメタプログラミングって聞いたこと無い?
(そして、そこがC++の汚さなわけだが。。。)
0398名前は開発中のものです。
04/03/30 13:17ID:NFwNOG+Iそのうちシンボルの長さの分非効率って言い出すからよろしく
0399名前は開発中のものです。
04/03/30 16:17ID:DlN5YGl10400名前は開発中のものです。
04/03/30 17:58ID:K6BdNsKiおまえら知らないかもしれなが、STLがサポートされてないCPPがアルンデスヨ。
0401名前は開発中のものです。
04/03/30 18:07ID:DJnJzXcX世の中には malloc も無い C コンパイラもあるが、
そこら辺、どうよ?
0402名前は開発中のものです。
04/03/30 21:00ID:OjGk+Cgx0403名前は開発中のものです。
04/03/30 21:02ID:HrX2ydbg0404名前は開発中のものです。
04/03/30 21:29ID:OjGk+Cgx・・・・あれ?
0405名前は開発中のものです。
04/03/30 22:01ID:se3a2dchlist map vector 程度だし、使ってるメソッドもごく一部。
それらを網羅するだけのテンプレートなら、自作してしまったほうが
なにかトラブルがあったときに対処しやすいかも。
パチンコ系の仕事だと、メモリ少ないし、C++は使えるけどSTLは
使えないなんて環境がザラなので、自作するですよ。
ま、昨今のPS2の3Dゲーが普通な世間についていけなくてスピンアウトした
負け組みな自分の意見など参考にならんかもしれんけど。
でも、ゲーム用途で使用するSTLのメソッドなんて、やはり片手で
数えれる程度なんではないでしょうかねぇ?
標準でSTLが添付されているなら迷わずそちら使うんですけど
0406名前は開発中のものです。
04/03/30 22:29ID:yJ2AWd9P0407名前は開発中のものです。
04/03/30 23:07ID:NFwNOG+I使う人間がどうか、どんなゲームを作るつもりなのかの方が何十倍も影響する
0408名前は開発中のものです。
04/03/30 23:30ID:OjGk+Cgx0409名前は開発中のものです。
04/03/30 23:53ID:S0+3h4vNみたいな見方しかしてない椰子がたくさんいるような気がするのは
俺だけなのだろうか
0410名前は開発中のものです。
04/03/31 00:27ID:TBla2Lpvぜひ、そうじゃないと言う意見を教えて欲しい。
実際のところコンテナ集程度の認識でしか使えていないので・・・
0411名前は開発中のものです。
04/03/31 00:54ID:M1X+QNGkでもって、状況判断して、標準・自前・使わないを使い分ける罠。
キモいiteratorの自作は結構楽しい罠。
0412名前は開発中のものです。
04/03/31 01:19ID:+fu0vwNy0413名前は開発中のものです。
04/03/31 01:24ID:Z6BWvJ0tそれらは全部コンテナと関連してる気がするが…
0414名前は開発中のものです。
04/03/31 01:30ID:Fr8obNGJただの配列とかにも適用できるんだから。
0415名前は開発中のものです。
04/03/31 01:57ID:a/n+QxhNbind系なんて見てらんない。
0416名前は開発中のものです。
04/03/31 06:07ID:FcWrDhbdプログラマさんの日記見てても、いちいちアセンブラに落として比較してたり、
よくそんなことやってるな、と
なんでもかんでも自作したり、ミイラ取りがよくミイラにならないか不思議です。
PCだと、軽くプロファイルとって大抵はそのまま終了だからなー
このスレみてると自分はなんて恵まれてるのかと思えてくるよ
0417名前は開発中のものです。
04/03/31 07:52ID:MuVgpOUOSTLはただのコンテナ集ではない
データ構造とアルゴリズムの汎用化を実現した(正確には目指した)ライブラリと捉えるべき
0418名前は開発中のものです。
04/03/31 09:07ID:y4QIV3kNでも、使いときの認識はコンテナ集なんでしょ?
0419名前は開発中のものです。
04/03/31 09:43ID:MuVgpOUOわかってない子だね
STLのアルゴリズムは、STLに含まれてる標準コンテナじゃなくても
自作のコンテナや、プリミティブな配列にも適用出来るんだよ
自分の考えでは
狭義のSTL: データ構造・アルゴリズムなどを含む標準「ライブラリ」
広義のSTL: 汎用的なデータ構造・アルゴリズムを使う際の「プロトコル」
ちょっと無理あるかもしれんガナ
0420名前は開発中のものです。
04/03/31 09:53ID:OpdTWfT0俺もPCだけだけど、どんなC/C++コード書けばどんなアセンブリコードが出てくるかは
だいたい把握しとくもんだと思うけど。
>>379見てちゃんと配列同様のコードに落ちるとか予測できるくらいにはさ。
別に四六時中アセンブリ出力眺めるわけじゃなし、ちょっと地ならししとくだけで、
リーズナブルなコードを吐くC++コードを自信を持って書けるんだから。
プロファイル取って遅かったら原因は100%アルゴリズムなわけだし。
0421名前は開発中のものです。
04/03/31 10:26ID:uLEtiF6X>>>379見てちゃんと配列同様のコードに落ちるとか予測できるくらいにはさ。
>>379って、オプティマイザで本当に、>>393になるの?
それはそれで凄いコードだよね。
それはいいとして、
The insertion (called inline expansion or inlining) occurs only if
the compiler's cost/benefit analysis show it to be profitable.
Inline expansion alleviates the function-call overhead at the
potential cost of larger code size.
ってあるように、コンパイラのコスト/利益 分析次第で展開もされる
こともされないこともあるってことで、完全に処理系(オプティマイザ
オプションも含め)依存だよね?
もしコンパイラがインライン展開がコストに合わないと判断すれば、
>>379になっちゃうんだよね?
0422名前は開発中のものです。
04/03/31 13:31ID:tl4psRQXSTLでダメだったら自作ってのが一番無難な流れなんだろう。
つーかSTLっつーかテンプレート使えないCPPが(略
0423名前は開発中のものです。
04/03/31 14:03ID:4g/JLZH/型があっていさえすれば相手はコンテナである必要はないよ
0424名前は開発中のものです。
04/03/31 14:05ID:ympu7JaOふつーにやってくれる罠。
VC++のthiscallでは、thisポインタはECXに保持されるのだが
昔それを知らないで、「mov eax, this」と
eaxにthisポインタを持たせたプログラムを書いたことがあるが
最適化で見事にeaxが全部ecxにすげ替えられてた。
0425名前は開発中のものです。
04/03/31 14:48ID:UG6lMDIiどっちにしてもそれで設計が変わることはないし
別に何が便利になるわけでもないんでしょ?
ささいな問題じゃん。
0426名前は開発中のものです。
04/03/31 15:49ID:/9tI2d5Jbeginとendでsortするくらいならいいけどさ…。
0427名前は開発中のものです。
04/03/31 17:03ID:tl4psRQXMSのコンパイラは最高峰だろ・・・。gccの10倍はがんばってる。
0428名前は開発中のものです。
04/03/31 17:56ID:6I5K9MaL疑う前に試してみなさいって。あんなもんがちゃんと最適化されないコンパイラあったら
俺はベンダに殴りこみかけるぞ。マジで。
0429名前は開発中のものです。
04/03/31 18:27ID:uLEtiF6Xそうかぁ。オレのは.NET Standardなもんで、オプティマイザーを
かけられない。なんかいじるとオプティマイザーをアンロック
したりできないかな?やっぱ安物買いの銭失いだったか・・・。
0430名前は開発中のものです。
04/03/31 19:46ID:xfT1ucaDまぁ、今のCPU性能ならよっぽど変なことやら無い限り問題ないんじゃね?
問題が出てから買い換えても遅くない罠。独自実装で最適化でもいいけど。
・・・いや、もし学生なら安いんだから買い換えとくべし。
0431名前は開発中のものです。
04/03/31 20:26ID:cW5bYV1S試すだけならGCCでもいいんじゃないかと。
0432名前は開発中のものです。
04/03/31 20:27ID:Fr8obNGJ0433名前は開発中のものです。
04/03/31 21:10ID:zAAx97UW大局が分らないと出来ない最適化や、
作った人間には分るがコードからは分らない種の最適化以外は
ほぼ限界までやってくれる。
それに引き換えミップスは・・・・はぅ〜
0434名前は開発中のものです。
04/04/02 12:29ID:2mBUdLBhMIPS系でgccの最適化マズーとか思うのも、使ってるgccが古いせいか。
枯れたハード使ってるんだけど、メーカーのサポートも枯れてるんだよね・・・。
ライブラリリコンパイルすればちょっと速くなったりするんだろうなぁ。
0435名前は開発中のものです。
04/04/02 15:27ID:XwPQLthN0436名前は開発中のものです。
04/04/02 16:13ID:mDXRLNzu0437名前は開発中のものです。
04/04/02 22:26ID:XwPQLthN0438とむ ◆0MTMwDpCZo
04/04/03 00:46ID:+YdMve5N0439名前は開発中のものです。
04/04/03 14:43ID:JoOhSfAZ0440名前は開発中のものです。
04/04/03 16:08ID:cZ8XjzeD0441名前は開発中のものです。
04/04/03 19:50ID:JoOhSfAZコテが出たからとりあえず叩かないと。
0442名前は開発中のものです。
04/04/04 12:22ID:fUh7k35dマチクタビレタ〜
☆ チン 〃 Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < 次の話題まだ〜?
\_/⊂ ⊂_ ) \_____________
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
| 愛媛みかん |/
0443名前は開発中のものです。
04/04/05 11:57ID:tvjF7st4企画レベルじゃなくて、実装レベルで。
0444とむ ◆0MTMwDpCZo
04/04/05 12:07ID:PeFkqqFu(過去ログ参照)
と冗談はともかく、私はやってませんねえ。知り合いにもやってる人はいなさそうです。
やってるところあるのかな?
0445名前は開発中のものです。
04/04/05 13:53ID:405E+F+V〜をやってますか?
違いが分からないのね。
0446443
04/04/05 14:08ID:tvjF7st40447名前は開発中のものです。
04/04/05 14:37ID:JfH7Iid30448名前は開発中のものです。
04/04/06 01:13ID:74EelaZTいや、ゲームじゃなくて業務系の話だけど。
0449名前は開発中のものです。
04/04/06 06:57ID:mn+0E41Tねーよ。
0450名前は開発中のものです。
04/04/06 13:40ID:93ZP4DyK0451名前は開発中のものです。
04/04/07 01:03ID:jriFoG450452とむ ◆0MTMwDpCZo
04/04/07 01:07ID:NmN8J3srコーディング→設計→仕様作成
という手順ですね。
0453名前は開発中のものです。
04/04/07 01:30ID:jriFoG45・コロコロかわる仕様
・メンテが必要ないため詳細な文書化は要らない
・(人数的に)それほど大規模ではないプログラム
あたりが理由かな?
・・・とか言う俺は448
0454名前は開発中のものです。
04/04/07 11:52ID:BinLy9djおまいら、オレは中小の小規模開発チームプログラマーと素人ってことで。
0455名前は開発中のものです。
04/04/07 20:07ID:3B62Dtqwむしろ中小の方がそんな余裕のある事をしていると破産するからマジになってやっていたりする。
0456名前は開発中のものです。
04/04/08 10:46ID:nojP3/0wその調子で作るからネトゲがぐだぐだになるのね。
0457名前は開発中のものです。
04/05/25 13:28ID:0G9kqbAyひどいインターネットで残念でした。
0458とむ ◆0MTMwDpCZo
04/06/05 05:16ID:0CVEUvwA0459名前は開発中のものです。
04/06/10 12:26ID:uENymUVuマ板のゲPGスレに移動したのか?
0460名前は開発中のものです。
04/06/12 13:29ID:x9gTzJwH0461名前は開発中のものです。
04/11/12 19:31:12ID:RslvAHC/0462名前は開発中のものです。
2005/10/28(金) 12:52:55ID:MInZsEGf=、,-、 、ヽ、 \> ,, '''\ _
メ゙ヽ、\ ̄""" ̄--‐ 、 \ /ゝ、\
=─‐\\‐ /─'''''ニ二\''' |レレゝゝ、\
 ̄く<<く >, ゙、/<三三二\ ̄\ゝゝゝゝゝゞ''ヽ、 / ̄ ̄ ̄ ̄ ̄
<<<<〈__入 ゙、く彡三三三二ヽくゝ\メメメゝ、_ゝ、\ | クラス名を言え
くく<<<<<< ゙、 ゙、ミ三三二ニ─ゝゝゝゝゝ,,,,,,,、 '( ゙''ヽ、ヽ、 < どんなクラスでもインスタンス化してやる
くくくくくく彡‐ヽ ゙、ミ三三二ニ'''くくゝゝ_ゝゝ、\\_,>」ノ, |
く く く く く 彡゙、゙、三三二ニ‐くゝ、/ ,,,,,,,,メメゝヽ''''"ゝゞ丶、 \_____
二─二二彡彡、゙、三三二==くメゝ/ ゙'ヽ、メゝゝゝゝゝゝゞ''ヽ-、,,,,,,_
‐'''" ̄ \彡彡ミ、゙、三二=''"く<メ/:: AV \''-、メメゝゝゝ_ゝ 、 ,,、ヽ
、 ,,,,- ゙彡//ヾ、三二= くゝ/:::.... \>∠レ-,-‐ニ二メヽ''ヽ ノ
゙ヽ、,,,-‐//_///,,、゙、三二= ゙、 ""''' ヽ>//レレヽ,,___ /
-,,,,,,-‐'''"""/////,,ヽ ゙、三二─ ゙ヽ. //-ヘヘ,、 レレレレノ
''" ,l|"////ノ,、\彡'''''‐-ニ,、 ::::::::::,,,,,,,,// ゙ヽフ/|/| レ'
/ゝ、/ヽ|ヽレ,,゙ヽ、゙''ヽ、,,,,,,_ヽ''ニ='',,-'"、─-,,,,,_  ̄"'ノ
/メ / レ/,''"へへべ''─---- ̄-メヽ"ゝゞゝヽ、 >---''"
/ヘヘ、|//ヘヘヘヘヘヘヘヘ,,-イ ̄ | ̄"'''-ニニニ二-''"
/ヘヘ∧/./フヘヘヘヘヘヘヘ,/イ / / / ゙ノ\、\
/ゝゝ| / /メヘヘヘヘヘヘ/'" | / / / / \\
/ゝ /|‐/ /フヘへヘヘヘ/∧ /-'"-'''"__,,-''" / /、\
//|_| /./へへへヘヘ、// |/ \_,,,,-‐'" / ゙、.゙、
13 名前: 以下、名無しにかわりましてVIPがお送りします [sage] 投稿日: 2005/10
■ このスレッドは過去ログ倉庫に格納されています