○○とゲームプログラミング 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/
0257名前は開発中のものです。
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データ量の上限を設定して、想定した範囲内に収めるように作ると思います。
■ このスレッドは過去ログ倉庫に格納されています