ゲームプログラムなら俺に聞け5at TECH
ゲームプログラムなら俺に聞け5 - 暇つぶし2ch250:デフォルトの名無しさん
10/03/06 18:02:58
>>248
いちばん大きいのはやはりオブジェクト指向。
コードがわかりやすくなって不具合が減るし、
流用や拡張もしやすくなり、仕様変更にも柔軟になる。

しかしC++を導入したからすぐにそれが実現できるわけではない。
オブジェクト指向ってのは結局本人のスキル。自分で時間をかけて磨くしかない。
ただ、C++を使っていくうちに、矯正ギプスのように身についてくる。

251:デフォルトの名無しさん
10/03/06 18:07:45
>>248
ミドルウェアはそのまま使うか、ラッパークラスを作って隠蔽する。
多態の利点が分ったら社内開発のゲームエンジンなんかは作り直したくなる。

252:デフォルトの名無しさん
10/03/06 18:10:21
くだらない、必要のない話ばっかり。
もう、このスレ次スレいらんから立てんなよ。

253:デフォルトの名無しさん
10/03/06 18:10:25
>>250
仮に自分の場合を考えたときにC言語で見積もった工数のどのくらいの工数を減らせる?

254:デフォルトの名無しさん
10/03/06 18:17:02
>>253
250 じゃないけど
Cでも今なら設計はオブジェクト指向にして組むだろうから、減るのは言語のサポートが
無いぶんの余計な記述量と、型チェックが緩かったりコンストラクタ・デストラクタが無い
ための実行時エラー発生とその修正のぶんかな。
前者は全体の 5 % にもならないだろうけど、後者は 10 % ぐらい超えそうに思う。

255:デフォルトの名無しさん
10/03/06 18:17:41
コーディングなら2倍以上は速いと思うな。
ずっとコーディングばっかりしているわけじゃねーから納期はそんなに縮まらないけど…。

256:デフォルトの名無しさん
10/03/06 18:22:17
>>254-255
じゃあ、工数そんだけ削るけどホントに大丈夫?

257:デフォルトの名無しさん
10/03/06 18:26:25
Cで多態を実現しようとしたら思ったより面倒だったぞ。
vtblを再現すれば簡単なんじゃないかと思ったけど甘かった。
コンストラクタとかコードが複雑になってとても同僚に見せられない。
実務レベルで考えたらせいぜいカプセル化程度が限界だな。

258:デフォルトの名無しさん
10/03/06 18:27:40
C++厨はいつも以下のことを忘れてしまう

・設計さえしっかりできればコーディングに時間はそんなにかからない
・C言語とC++で設計は変わる?(変わるはずもない、言語によって変わる設計ってなんだよ)
・C言語でかかる工数、C++でかかる工数
・C言語で作れるプログラム、C++で作れるプログラムの質(それは定義した仕様以外の要素で変わるか?)

何をとってもC++であることの利点は見つからない
まともな技術者ならこれがわかる

259:デフォルトの名無しさん
10/03/06 18:28:29
なんかよくわかんないけどプログラムって大変なんだな

260:デフォルトの名無しさん
10/03/06 18:28:47
>>233
トータルで高品質なものを最短でつくれるものをチョイスする。

261:デフォルトの名無しさん
10/03/06 18:28:54
>>257
NGな脳みそ
多態を実現するのが目的ではなくて
あくまで仕様を実現することを目的にするべき

262:デフォルトの名無しさん
10/03/06 18:29:57
>>257
普段どうコンパイルされているか意識が足りないのでは?
面倒だが普通に見せられるレベルでかけるぞ。

263:デフォルトの名無しさん
10/03/06 18:30:15
>>256 あ、減るのは認めるんだw

264:デフォルトの名無しさん
10/03/06 18:30:55
>>256
ベテランに任せるなら大丈夫。
C++初心者でもCより工数が伸びることはない。

265:デフォルトの名無しさん
10/03/06 18:30:59
>>262
まて、>>257はすでに道を間違えている
そっから話を広げるんじゃねーよ
お前のいうことがあってるとかまちがってるとかそういう話はいいから

266:デフォルトの名無しさん
10/03/06 18:31:05
>>263
申告した納期を遅延したら評価下げるよ

267:デフォルトの名無しさん
10/03/06 18:31:52
>>265
技術論にもっていきたくないんだね

268:デフォルトの名無しさん
10/03/06 18:32:41
>>263
大丈夫?って>>254-255に聞いてる

269:デフォルトの名無しさん
10/03/06 18:33:59
>>267
そうでなくて具体的な仕様もないのに多態を実現する話にもっていきたくない
俺の検証では多態を実現することで削れる工数など1hすらない

270:デフォルトの名無しさん
10/03/06 18:34:58
>>269
なるほど。

271:デフォルトの名無しさん
10/03/06 18:36:37
>>258
> ・C言語で作れるプログラム、C++で作れるプログラムの質(それは定義した仕様以外の要素で変わるか?)

C++ のほうがコンパイラで自動的にチェックできる問題が多いんだから、
客観的な信頼性という質においては C++ で組んだほうが上になるんじゃないの?

272:デフォルトの名無しさん
10/03/06 18:37:12
C言語で何も不満がないならC言語を使えばいいよ。
仕様変更とか、流用とか、そういうところで悩むことがないなら、
新しいことに手を出す必要はない。

273:デフォルトの名無しさん
10/03/06 18:37:39
>>271
じゃないの?って以上の要素でないっしょ?

274:デフォルトの名無しさん
10/03/06 18:39:04
>>272
>仕様変更とか、流用とか、そういうところで悩むことがないなら、
本当にC++は仕様変更や流用に強いの?
そしてそれは設計の話ではなくてコーディングレベルの仕様変更や流用の話でいいの?
コーディングはそんなに工数を食うの?

275:デフォルトの名無しさん
10/03/06 18:40:06
>>269
多態ができればベースクラスを流用できるし、
1つのアルゴリズムや関数をいろいろな派生オブジェクトに適用できるだろ…。
つまり多態があれば単純にコード量は減る。
もちろんどんな場面でもというわけにはいかないけど。

276:デフォルトの名無しさん
10/03/06 18:40:58
>>273
いや、おれは「信頼性という質においては C++ で組んだほうが上になる」という結論を
根拠も添えて示している。そのうえであんたはそう考えられないのか?という問いかけ。

277:デフォルトの名無しさん
10/03/06 18:41:01
C++トランスレーターの存在やチューリング完全の存在からも
お前らの議論は浅すぎると思うんだが。

278:デフォルトの名無しさん
10/03/06 18:42:56
>>275
本当に?検証した?

279:デフォルトの名無しさん
10/03/06 18:43:01
C++ vs C とか、何年前からタイムスリップしてきたスレだよ

280:デフォルトの名無しさん
10/03/06 18:44:15
>>276
じゃあ、その信頼性はC++のなんのチェックが入るから上がるもんなの?
C言語とC++との違いになにがあるの?
俺はなんの違いもないって結論な

281:デフォルトの名無しさん
10/03/06 18:45:13
C++は仕様変更や流用に強いよ。それは主に設計面の話。
他部署で別のゲームのために作られたライブラリを、全く手を加えずに派生させるだけで、
元の開発者の想定外の実装を無理なく実現できてしまうくらい。

282:デフォルトの名無しさん
10/03/06 18:46:21
どんだけ天国な会社に居るんだよw

283:デフォルトの名無しさん
10/03/06 18:46:51
>>281
C++とC言語で設計は変わるっていってる?
ちょっとお話できないレベルになるんだけど

284:デフォルトの名無しさん
10/03/06 18:46:54
>>280
>254 にもあるが、厳格な型チェックやコンストラクタ・デストラクタの強制があるだろ。
これだけでも十分だ。

285:デフォルトの名無しさん
10/03/06 18:49:36
Cにもboostが有るならCでいいと思う

286:デフォルトの名無しさん
10/03/06 18:51:17
厳格な型チェック?
C使いでもコンパイラはC++と共通のもの使ってるでしょう。
コンストラクタデストラクタはあってもびっくりな使い方する奴後がたたないけどなw

287:デフォルトの名無しさん
10/03/06 18:51:45
>>284
型チェックに関していうけど
それは仕様としてなんの機能を組むときに必要になるわけ?
そもそも型チェックなんてベタで組んでればおきるはずもないこと
わざわざ型変換して妙なことしてるからだろ
んでもってそれはC言語でもC++でも余計なことしなければ発生さえしないもの
君の言っていることはまったく関係ない

コンストラクタデストラクタは発生することで逆にバグる可能性も増えるよね?
単純にいいとはいえないなチェック増えるだけだし
そしてそれだったら言語の機能なんかじゃなくてあらためて初期化や終了関数を作ったほうがいいんじゃないか?

288:デフォルトの名無しさん
10/03/06 18:53:48
あ、RTTIのこといってたの?

289:デフォルトの名無しさん
10/03/06 18:54:28
>>288
いや、関係ないからもういいよ

290:デフォルトの名無しさん
10/03/06 18:55:23
Cでスマポってどうやって実装するんですか?

291:デフォルトの名無しさん
10/03/06 18:56:22
スマートポインタw

292:デフォルトの名無しさん
10/03/06 18:58:13
やねうらおさんのところいってください

293:デフォルトの名無しさん
10/03/06 18:58:33
オブジェクト指向と構造化設計では設計が変わってくる。
C++で構造化設計することもできるしCでオブジェクト指向することもできる。

論理的に可能かどうかではなくて、実際の運用として現実的かどうかを考えないといけない。
Cでデザパタを実現しようと思ったら相当にめんどいぞ。

294:デフォルトの名無しさん
10/03/06 18:58:59
>>287
struct S* 受け取る関数に int* 渡すとかいうくだらないミスが
コンパイルできてしまうかコンパイルエラーになるかという違いがある。
仕様だとか意図的な変換とか、そういうのは関係ない。当たり前だが。

コンストラクタ・デストラクタの存在で逆に発生するバグってどんなの?
で、仮にそういうのがあるとして、それは誰でも経験しているだろう初期化や
終了関数の呼び忘れより頻度や重大性の大きいものなの?

295:デフォルトの名無しさん
10/03/06 18:59:28
あ、やねうらお隔離スレ(=タスクシステム議論スレ)が消えてるじゃねーか!

296:デフォルトの名無しさん
10/03/06 18:59:44
ところで>>283はC++で組んだ経験はどれだけあるの?
オブジェクト指向での実務経験は? まさか経験がないのに想像で語っている訳じゃないよね?
つーか話を聞いてると全然経験がないように見えるけど。

297:デフォルトの名無しさん
10/03/06 19:00:01
循環参照に問題があるシステムを使う理由は何?
完全手動でのnew/deleteとすらあまり違いが内容に思うんだけど。

298:デフォルトの名無しさん
10/03/06 19:01:11
>>283じゃないけどおれはゲーム開発の仕事で6年。
>>296さんは?

299:デフォルトの名無しさん
10/03/06 19:01:59
コンストラクタでバグらせる奴は、関数呼び出しでも同じようにバグらせそうだな。

300:デフォルトの名無しさん
10/03/06 19:02:02
なんかもう話して実があるレベルじゃないな
仮にそうだったとしてそれが大局に本当に影響あると思ってるの?
ってレベルだし
結局C++の利点って聞くといつもこんな感じだよね

301:デフォルトの名無しさん
10/03/06 19:03:25
>>298
俺は17年だ…
フルアセンブラ時代からの生き残りだよ。

302:デフォルトの名無しさん
10/03/06 19:03:45
>>301
いやいやゲームでC++の話だから。

303:デフォルトの名無しさん
10/03/06 19:05:21
>>302
あぁ、ゲームでC++ならもう12~13年くらいじゃないかな。
PlayStationの時代からやってる。メモリがなかったのでテンプレート無しだったけど。

304:デフォルトの名無しさん
10/03/06 19:06:54
なんかもう話して実があるレベルじゃないな
仮にそうだったとしてそれが大局に本当に影響あると思ってるの?
ってレベルだし
結局Cの利点って聞くといつもこんな感じだよね

305:デフォルトの名無しさん
10/03/06 19:07:04
ここってプロいたのかよw

306:デフォルトの名無しさん
10/03/06 19:08:34
>>303
そりゃ正直どうかと思うわ。
C++で分断化のフレームワークがしっかりしてない限り
チーム開発でライブラリ含めて2MBを安全に使うのは困難。
どんなメモリ管理にしてたの?

307:デフォルトの名無しさん
10/03/06 19:12:38
mallocは独自実装で遅くても断片化しにくいアルゴリズムにしてた。
PSとかDCとかmalloc差し替えられるでしょ。
それ以外にも断片化についてはいろいろノウハウがあった。

mallocはねぇ、俺も懐疑的だったんだよ。
そもそもCで固定アドレス派だった。
若い人がmallocを使って美しいコードを書いているのを見て
衝撃を受けてからmallocを使うようになった。

しかしやはり断片化が問題になったので、
丸ごと自作して差し替えた上に、メモリ配置分析ツールも自作してた。
それがすでにあったからC++への移行でそこが問題になったことはなかった。

308:デフォルトの名無しさん
10/03/06 19:14:30
ってか、今はLuaとかを組み込んじゃってコアな部分以外はそっちにまかせちゃったり
逆にコアな部分はGLのシェーダしかなかったりとかで言語はそれほど重要じゃないと思うのだが。

309:デフォルトの名無しさん
10/03/06 19:15:12
中途半端な感じはするな。分断化をノウハウで乗り切るって運で助けられてるか、
ひとつの強力なノウハウでほとんど乗り切ってるかくらいしかイメージできない。

310:デフォルトの名無しさん
10/03/06 19:16:40
LuaよりはCやC++のほうが開発しやすいだろ。トライ&エラーが必要な箇所以外。

311:デフォルトの名無しさん
10/03/06 19:19:00
Luaにしとけば企画者とかスクリプタっていう小人さんたちが
寝てる間に勝手にイベントとか組み込んでくれるんだよ。

312:デフォルトの名無しさん
10/03/06 19:27:19
スクリプタも自作できないプログラマって…

313:デフォルトの名無しさん
10/03/06 19:28:36
その発言はプログラマ失格だろ。
デバッガや完成度やバグの可能性考慮してるか?
つーか煽りか・・・

314:デフォルトの名無しさん
10/03/06 19:31:34
>>312
スクリプタを作るための苗床と時間(20年くらい)が必要だからな……
自作するのは割に合わんよ。

315:デフォルトの名無しさん
10/03/06 20:28:01
今やluaとかいろいろスクリプトエンジンもあるのにわざわざ作る?
自分で工数増やしてんじゃしょうがねーよな。
ライセンスの問題で、どうしても自力実装が必要ならわかるが。

データはもう外出しで一切ハードコーディングしないのが普通じゃないの?
イベントもスクリプトで組んで、どうしても処理コストがかかるところはハードコーディング
して。
本体は3Dエンジンとか、サウンド再生とかコア機能だけ。
これを突き詰めていくと...あれ?ツクールじゃんwwwwwwww
なんだ、ツクールがあれば全てのゲーム作れるじゃん(笑)

316:デフォルトの名無しさん
10/03/06 20:36:21
俺が格ゲーのスクリプタ仕事で行ったところはオリジナルのツールでスクリプト組んでたけど、
そういうのが当たり前なんじゃないの?

317:デフォルトの名無しさん
10/03/06 21:26:21
そんなレベルまで行けばケースバイケースとしか

318:デフォルトの名無しさん
10/03/06 21:28:30
>今やluaとかいろいろスクリプトエンジンもあるのにわざわざ作る?
プログラマ以外にスクリプトを書いてもらう為にDSLはよく組むよ
luaとかは汎用的過ぎるので結局プログラマがスクリプト書くでしょ?


319:デフォルトの名無しさん
10/03/06 21:31:24
それはあるね

320:デフォルトの名無しさん
10/03/06 23:11:15
>>234
レスありがとうございます。

>>225のサイトにあるコードを自分のPCで検証してみました。
Sorting in C++ vs. C
C, library qsort 1.09~1.13 0.27~0.31
C, hand-coded quicksort 0.31~0.33 0.11~0.14
C++, STL sort, C arrays 1.25~1.328 0.14~0.157
C++, STL sort, C++ vectors 50.11~52.047 0.14~0.188
※VisualC++2008EE, WindowsXP(32ビット版), N=1000000, TYPE=int, ビルド=Debug/Release

Cの方が速いという結果になりましたが・・・

321:デフォルトの名無しさん
10/03/06 23:18:56
>>318
汎用的すぎるからだめとかよく分からないな
素人でも間違えないような関数だけ公開すればいい話じゃん

322:デフォルトの名無しさん
10/03/06 23:19:31
責任感ない奴は自由でいいな

323:デフォルトの名無しさん
10/03/06 23:23:37
みんな自分の担当個所だけでいっぱいいっぱいなのさ

324:デフォルトの名無しさん
10/03/06 23:56:18
>>321
そう思うだろう?
凄く甘い考えだぞ~ orz


325:デフォルトの名無しさん
10/03/07 00:02:09
このくらいのレベルが素人呼ばわりだもんな。
まわりもレベル低いんだろうな。

326:デフォルトの名無しさん
10/03/07 00:06:35
スクリプタはGUIで誰にでも簡単操作なものを自作するのがマとして最低限のレベル。

327:デフォルトの名無しさん
10/03/07 00:27:59
STL使ってる人って、どれくらいallocatorを使い分けてる?

328:デフォルトの名無しさん
10/03/07 00:35:42
>>320
その結果からどうして「Cのほうが速い」なんて話になるんだ?
もしかしてデバッグ版の速度を比較して意味があるとでも思ってるのか?

329:デフォルトの名無しさん
10/03/07 00:37:28
またこのレベルか・・・

330:デフォルトの名無しさん
10/03/07 01:38:21
>>318
なるほど、もっと的を絞ったいわば簡易版を作るわけか、納得。

331:デフォルトの名無しさん
10/03/07 01:41:01
このスレだっけ、忘れたけどXinputで入力試みて、デバイスがない場合はDInputで
入力させるとかあったかな。
XinputはX360コンだけなので、デバイスがない場合はDInputで他のデバイスから
入力を取るとか。

332: [―{}@{}@{}-] デフォルトの名無しさん
10/03/07 01:52:08
コードの実行速度の比較なんて、コードによっていくらでも優劣が変わる。
JavaやC#など実行時コンパイルする言語が、Cなどのネイティブ言語より
早いようなコードを書くことだってできる。

コードや言語の特性も考慮に入れずに論じても誤解を生むだけ。

333:デフォルトの名無しさん
10/03/07 02:16:06
なんかもう話して実があるレベルじゃないな
仮にそうだったとしてそれが大局に本当に影響あると思ってるの?
ってレベルだし
結局C++の利点って聞くといつもこんな感じだよね

334:デフォルトの名無しさん
10/03/07 02:23:13
なんかもう話して実があるレベルじゃないな
仮にそうだったとしてそれが大局に本当に影響あると思ってるの?
ってレベルだし
結局Cの利点って聞くといつもこんな感じだよね

335:デフォルトの名無しさん
10/03/07 02:59:44
>>334
オウム返しが成立してないのに見苦しいなw

336:デフォルトの名無しさん
10/03/07 03:02:02
答えに窮して勝利宣言のほうが見苦しいわ。

337:デフォルトの名無しさん
10/03/07 03:02:37
>>336
は?幻覚でもみたの?w

338:デフォルトの名無しさん
10/03/07 03:03:45
>>294>>300 この流れだろ。ひどいな。

339:デフォルトの名無しさん
10/03/07 03:07:05
>>338
ホントだよ
設計云々いってたのに
蓋を開けたら
>struct S* 受け取る関数に int* 渡すとかいうくだらないミスが
こんなくだらないことの回避のために
オブジェクト指向導入したんですってw
馬鹿じゃないのw
自分が何を説明しようとしてるのかそれすら行方不明で
こんなこと口走っちゃうあたりもう末期だよね
技術者としても終わってると思う
メリットが説明できないものを役立つなんていっちゃう人は技術者じゃなくて詐欺師っていうんだよ

340:デフォルトの名無しさん
10/03/07 03:12:44
>>339 オブジェクト指向とか関係ないから。

341:デフォルトの名無しさん
10/03/07 03:16:27
>>340
関係なくていいの?
C言語からC++にして使ってるのは言語の珍妙な機能だけ?
こりゃいいわw

342:デフォルトの名無しさん
10/03/07 03:19:12
アンカーたどって流れ読み直せ

343:デフォルトの名無しさん
10/03/07 03:22:09
>>342
いや、単純にC言語からC++にしてなんの利点のがあるの?
って話が本題だよw
ここでオブジェクト指向が関係ないなんてでちゃうのはおかしいな
なんか議論してる方向間違ってるからオブジェクト指向関係ないなんてセリフがでちゃうんじゃなーい?w
まあ、君は技術者やめちゃったほうがいい人だから
そういう目的を見失っちゃうこともあるだろうねw

344:デフォルトの名無しさん
10/03/07 03:28:53
>>342
会話するつもりがあるならアンカーたどって流れ読み直せ。 >>280 で同じ話が出てる。
そのからの流れで >>294 への答えが聞いてみたいところだ。

345:344
10/03/07 03:29:58
ごめんアンカーミスった。 >344 は >>343 宛てね。

346:デフォルトの名無しさん
10/03/07 03:32:27
オブジェクト指向な設計がCで実装できないとでも思ってるのかな?

347:デフォルトの名無しさん
10/03/07 04:25:20
ここ数日で急激に馬鹿が増えたな

348:デフォルトの名無しさん
10/03/07 04:29:45
N88BASICでオブジェクト指向しながらゲーム作れますか?

349:デフォルトの名無しさん
10/03/07 04:31:21
>>320
俺のPCではこんな結果だったぞ。
何度もやったけどC++の方が早かった。

C, hand-coded quicksort 0.16~0.19
C++, STL sort, C arrays 0.15~0.18
C++, STL sort, C++ vectors 0.15~0.17
※VisualC++2008EE, WindowsXP(32ビット版), N=1000000, TYPE=int, ビルド=Release
※IDEからではなくコマンドラインから実行。

C, hand-coded quicksort 1.76~1.81
C++, STL sort, C arrays 1.54~1.57
C++, STL sort, C++ vectors 1.57~1.60
※VisualC++2008EE, WindowsXP(32ビット版), N=10000000, TYPE=int, ビルド=Release
※IDEからではなくコマンドラインから実行。

コンパイルオプション、最適化は全部デフォルト。
俺のPCがショボイ、というのは認めざるを得ない。

350:デフォルトの名無しさん
10/03/07 04:33:31
>>348
可能です。頑張ってください。

351:デフォルトの名無しさん
10/03/07 04:34:47
>>348
私ほどの実力なら作れますが、あなたには到底無理です。諦めてください。

352:デフォルトの名無しさん
10/03/07 04:36:44
>>348
すでに時代遅れです。諦めてください。

353:348
10/03/07 04:38:34
>>350-352
ご丁寧にどうもありがとうございました

354:デフォルトの名無しさん
10/03/07 05:24:22
うちの大学の実験装置に繋がってるパソコンがPC98で実験装置動かすのにN88BASICが使われてた
実験装置用のプログラム新しいの作れる人がいないらしい
悲しいな


355:デフォルトの名無しさん
10/03/07 06:38:53
N88BASICは簡単だろ。
C覚える暇があれば十分覚えられる。
ただ、スパゲッティプログラムになり易いから綺麗な書き方の練習は必要だけど。

356:デフォルトの名無しさん
10/03/07 06:38:57
>>349
ありがとうございます。
参考になります。

>>320もコンパイルオプション、最適化は全てデフォルトです。
STLのDebug版がRelease版と比較して大きく落ち込んでいますが、これは改善できるものなのでしょうか?
リリース版の結果が重要とは言ってもやはり開発時はデバッグ版を使用したいのですが。
C, library qsort 1.09~1.13 0.27~0.31 ⇒ 24.7~27.4%
C, hand-coded quicksort 0.31~0.33 0.11~0.14 ⇒ 35.4~34.0%
C++, STL sort, C arrays 1.25~1.328 0.14~0.157 ⇒ 11.2~11.8%
C++, STL sort, C++ vectors 50.11~52.047 0.14~0.188 ⇒ 2.7~3.6%

357:デフォルトの名無しさん
10/03/07 06:48:15
Debugが遅いから云々言う奴は
JITなしのJavaは遅くて使い物にならないと主張してるのと変わらんよなw

358:デフォルトの名無しさん
10/03/07 07:21:17
>>344
全然関係ないじゃん
だってそれって細かい実装技術だろ
工数なんてちっとも削れやしないw

そもそも型変換なんてしなけりゃいいじゃん

359:デフォルトの名無しさん
10/03/07 07:23:49
全然関係ないことを持ち出して
C言語とC++との違いって主張する奴はなんなの?
オブジェクト指向が入って違いが出たんじゃないの?

360:デフォルトの名無しさん
10/03/07 07:27:47
> struct S* 受け取る関数に int* 渡すとかいうくだらないミスが
これコンパイラでひっかかるよね

361:デフォルトの名無しさん
10/03/07 09:07:56
C++はマルチパラダイムなだけあって色々なスタイルで書けるから一概に言えないのでは。
それこそクラスなんぞ使わず、betterCとして利用する事もできる。


362:デフォルトの名無しさん
10/03/07 09:20:38
個別文法禁止オプションとか仕様レベルで追加されればいいんだけどなぁ

363:デフォルトの名無しさん
10/03/07 10:06:03
>>361
それはメリットでもなんでもないな

364:デフォルトの名無しさん
10/03/07 10:16:14
可変長配列や連想配列のあるCとして使ってもいいよ。

365:デフォルトの名無しさん
10/03/07 10:20:04
>>364
本筋より付属物なんか人に薦めてるあたり使えないのバレバレだなお前w

366:デフォルトの名無しさん
10/03/07 10:21:27
ベターC的な使い方しかしてないところは結構あるらしいね。

367:デフォルトの名無しさん
10/03/07 10:29:48
Cより出来ること増えてんだから使いこなせればC++のほうがいいに決まってる

368:デフォルトの名無しさん
10/03/07 10:50:52
「使いこなせれば」

369:デフォルトの名無しさん
10/03/07 11:02:31
使いこなせば使いこなすほど
胸を張って「使いこなせる」
と言えなくなっていく

それがC++

370:361
10/03/07 12:05:09
>>363
ごめん、CとC++の速度比較に関して言った。

371:デフォルトの名無しさん
10/03/07 12:13:45
ふむ
ここはCとC++の優劣を決めるスレですか

372:デフォルトの名無しさん
10/03/07 13:21:05
>>347
春休みなんだろ

373:デフォルトの名無しさん
10/03/07 13:31:20
>>358
C++ではコンパイルエラーにできるところがCでは実行時エラーとなるまで
気づかない可能性がある。C++で強制されるコンストラクタもデストラクタの
呼び出しもCでは明示的な初期化と終了関数を呼び忘れる可能性がある。

これによってコンパイルできたコードの信頼性が向上すると言えるし、それに
伴ってテストフェーズにかかる工数が減るとも言える。

意図的な型変換は関係ないと >>294 にも書いたはずなんだが。

374:デフォルトの名無しさん
10/03/07 13:58:02
無限ループってこわくね?

375:デフォルトの名無しさん
10/03/07 13:59:56
ゲームって基本ループじゃね
ウォッチドッグタイマ使えばいいんじゃね

376:デフォルトの名無しさん
10/03/07 14:45:50
GC付きの言語と比べるならともかく
CとC++なんて本質的にそれほど差があるわけじゃないだろ
なんでこの兄弟言語で喧嘩する必要があるんだか

377:デフォルトの名無しさん
10/03/07 15:18:56
goto有害論みたいなものだろ

378:デフォルトの名無しさん
10/03/07 17:33:27
C#でDirect3Dは無謀?

379:デフォルトの名無しさん
10/03/07 17:50:20
てめぇXNA先輩にケンカ売ってるのか

380:デフォルトの名無しさん
10/03/07 19:44:29
>>378
Managed?は終わったんだっけ

381:デフォルトの名無しさん
10/03/07 20:04:15
>>378
全然いける。

382:デフォルトの名無しさん
10/03/07 20:43:40
>>373
まだ関係ないところこだわってるんだ?w

383:デフォルトの名無しさん
10/03/07 21:14:45
Managed DirectX(MDX)は終わってるから、やるならSlimDXな

384:デフォルトの名無しさん
10/03/07 21:25:50
春厨効果なのかもしれんがこのスレ勢い1位だなw

385:デフォルトの名無しさん
10/03/07 21:29:02
>>369
同意
使えることは増えていくけど終わりが見えない

386:デフォルトの名無しさん
10/03/07 21:29:56
何年使ってもメリットが説明できない

387:デフォルトの名無しさん
10/03/07 21:36:14
C++のメリットは実行速度とOOかな。
それ以外もあるけど強くプッシュできない。

388:デフォルトの名無しさん
10/03/07 21:41:08
効果を数字で出せないからお金に結びつかないよね

389:デフォルトの名無しさん
10/03/07 21:41:26
OOはあまりプッシュしない方が・・・
むしろジェネリックプログラミングじゃね

390:デフォルトの名無しさん
10/03/07 21:51:09
設計をコードに落とすときにOO使うと便利

391:デフォルトの名無しさん
10/03/07 21:51:49
構造体じゃダメなんかよ

392:デフォルトの名無しさん
10/03/07 22:18:06
いいよ
private宣言するだけだから

393:デフォルトの名無しさん
10/03/07 22:20:35
クラスになってから
インスタンスのコピーするのがやたらと面倒だけど
これはなんで面倒にしてるの?

394:デフォルトの名無しさん
10/03/07 22:30:44
>>393
安全のために

395:デフォルトの名無しさん
10/03/07 22:31:10
>>393 そのクラス作ったやつに聞けよ。

396:デフォルトの名無しさん
10/03/07 22:31:35
その曖昧な質問をどうにかしてくれ
何がどうして面倒なのか

397:デフォルトの名無しさん
10/03/07 22:36:03
デザパタを適応してるのでは。知らんけど

398:デフォルトの名無しさん
10/03/07 22:55:43
どうせ
今までmemcpyで済んでたのにどうしてメンバいっこいっこ代入するんだよ~

とかそんな程度だろ

399:デフォルトの名無しさん
10/03/07 23:25:55
>>398
そうだそれだ
すげー手間じゃね?

400:デフォルトの名無しさん
10/03/07 23:29:02
>>399
状況を具体的にして初心者スレに行くのがいいと思いますよ。

401:デフォルトの名無しさん
10/03/07 23:40:25
>>399
春厨乙

402:デフォルトの名無しさん
10/03/08 01:46:38
コピーコンストラクタや代入演算子を自前で書かずにコンパイラのデフォルトに任せればいい。
全部のメンバのコピーコンストラクタが勝手に呼ばれる。
ポインタはコピーされるとまずいのでそこだけラップしておけばいい。
例えばchar *を使わずにstringを使うとか。

403:デフォルトの名無しさん
10/03/08 02:16:29
ベーマガ掲載のゲームを移植しようと思ったが、言語違うと難しいな

404:デフォルトの名無しさん
10/03/08 02:18:12
BASIC系の処理をどう移植すりゃええのか
アセンブラ使ってるBASIC投稿もあるがマシン語とかさっぱりだぜ(笑)

405:デフォルトの名無しさん
10/03/08 02:40:54
マシン語部分は描画ルーチンや衝突判定ルーチンだったりするわけで。
昔を思い出しつつマシン語を直読みしてって、同じ処理を普通に記述していけばいいだけでは?

406:デフォルトの名無しさん
10/03/08 02:46:43
ベーマガってやつはゲームのサンプルとか載ってんの?
ゲームコードがのってる雑誌って他に有る?

407:デフォルトの名無しさん
10/03/08 02:47:35
BASICなんてエディタ含めて数十kbの言語だしZ80なんて命令数さほど無いんだよ

408:デフォルトの名無しさん
10/03/08 03:04:50
>>406
読者の投稿プログラムが掲載されていた
もっぱらゲームだが
電波新聞社のベーシックマガジン、通称ベーマガ。ベーシックってのはBASIC言語のことだ
休刊して7年くらい経つ

409:デフォルトの名無しさん
10/03/08 03:30:33
懐かしきベーマガの面白かった投稿プログラムを語る
スレリンク(tech板)

410:デフォルトの名無しさん
10/03/08 04:01:04
投稿できる雑誌が無くなってから
プログラミングへの意欲は大きく減ってしまった

411:デフォルトの名無しさん
10/03/08 04:05:39
ベーマガね。超高齢のジジイとかも投稿しててマジすげえ(笑)と思ってたわw

412:デフォルトの名無しさん
10/03/08 04:11:16
雑誌がなくてもネットで公開すればいい。

413:デフォルトの名無しさん
10/03/08 04:14:05
おま、プログラム原稿料1万円もらえるんだぜ?

414:デフォルトの名無しさん
10/03/08 04:16:44
(笑)

415:デフォルトの名無しさん
10/03/08 04:19:55
一万円って日給1日分じゃねーか

416:デフォルトの名無しさん
10/03/08 04:26:07
1日1個当選しても月収たったの30万か

417:デフォルトの名無しさん
10/03/08 04:30:14
それ土日入ってんのかよ!

418:デフォルトの名無しさん
10/03/08 04:40:16
>>404
環境自体を移植すればいいのさ!

419:デフォルトの名無しさん
10/03/08 06:33:00
>>400-402
はぁ?面倒臭ぇことにはかわらねーだろ
馬鹿?

420:デフォルトの名無しさん
10/03/08 06:39:27
コピコンが面倒くさいのは誰もが認める所だな

421:デフォルトの名無しさん
10/03/08 07:51:29
それが面倒なんじゃC言語で深いコピーとかやるのも面倒だろ
C++はスマポやコンテナを使えばデフォルトでも問題ない
浅いコピーはスマポ
深いコピーはコンテナで

てかここはC++初心者スレじゃないぞ

422:デフォルトの名無しさん
10/03/08 07:56:07
今のゲームプログラマがいかにレベル低いかがよくわかる。

423:デフォルトの名無しさん
10/03/08 10:48:16
でも今のゲー専じゃMaxとかMayaとか使わせてるってんだから、
ある意味昔のゲームプログラマとは別の領域のレベルは伸ばしてるんじゃねえかと思う。
そいつらがマップの衝突判定とかが出来るかどうかは別として。

424:デフォルトの名無しさん
10/03/08 14:49:23
>>410
wonderflは割りと近い気がするな
あれのC版とかC++版とか・・・は考えたくも無いが

425:デフォルトの名無しさん
10/03/08 15:30:06
>ゲー専
昔はゲームの作り方を教えてくれたけど
今はゲームの見た目を良くする方法を教えてくれる所だと思ってる。


426:デフォルトの名無しさん
10/03/08 17:34:37
日本のCGも海外と比べればびっくりするほど低レベルなんだが
プログラムの中身の質なんてそう分かるものじゃないが
CGだと素人が一瞥しただけで糞だとバレてしまう悲しい現実

427:デフォルトの名無しさん
10/03/08 19:06:01
>>421
はぁ?
クラス使わないで構造体で組めばなんの問題も起きないんだけど
余計なことして余計な時間かけて馬鹿じゃないの?
仕事しないで遊んでるの?

428:421
10/03/08 19:33:10
ちょw

429:デフォルトの名無しさん
10/03/08 19:46:19
おまんこ

430:デフォルトの名無しさん
10/03/08 20:11:30
C++の構造体はプライベートが設定できません。
すべてパブリックなpythonがお勧めですね

431:デフォルトの名無しさん
10/03/08 20:38:45
言語はどうでもいいんだよ。
今2010年においてもっとも重要なのはゲームデザインとシェーダプログラミングじゃ。
つうかゲームデザインの話しようぜ。
オンライン前提のゲームバランスについて語ろうよ。俺TUEEEEE野郎をどうやって隔離するか、とか。

432:デフォルトの名無しさん
10/03/08 20:48:19
ゲ製行けよゲス!

433:デフォルトの名無しさん
10/03/08 21:26:24
最強のゲームは囲碁じゃね!
ソフトが弱いし
どんだけ廃人になっても才能ないと勝てないし

434:デフォルトの名無しさん
10/03/08 21:55:22
>>427
ようするにお前みたいなバカはプログラムなんか作るなってことだ
ユトリは大人しくオナニーでもしてろ

435:デフォルトの名無しさん
10/03/08 22:44:27
>>434
アレアレ?
説明できなくなってキレちゃった?(笑)

436:デフォルトの名無しさん
10/03/08 22:56:07
冗談かと思ったらマジて言ってたのかよ
本当のアホだな

437:デフォルトの名無しさん
10/03/08 23:33:53
>>436
そういうのはしっかりと説明できてからいってねw
いまだにC++のメリット説明できた人間ってみたことないんだ俺w

438:デフォルトの名無しさん
10/03/08 23:50:53
え?

439:デフォルトの名無しさん
10/03/08 23:55:24
組み込みいけばC++のメリットを実感するよ。いてら

440:デフォルトの名無しさん
10/03/08 23:57:43
おまえらタスクシステムスレいただろ

441:デフォルトの名無しさん
10/03/09 00:02:22
目をつぶってたか耳をふさいでいたかのどっちかだな

442:デフォルトの名無しさん
10/03/09 00:22:32
ポリモー出来た方が便利じゃん
読みやすいじゃん

443:デフォルトの名無しさん
10/03/09 00:23:41
Cの上位互換でコーディング方法の選択肢が多いってだけで十分じゃん

444:デフォルトの名無しさん
10/03/09 00:24:29
C++でプログラミングしていたらインクルード地獄にはまって抜け出せなくなりプロジェクト破棄した

445:デフォルトの名無しさん
10/03/09 00:25:50
C言語 > C++ な人によってはC++の全てが 悪 なんだろう
価値観の相違だな

446:デフォルトの名無しさん
10/03/09 00:26:45
>>444
インクルードガードはもちろんやってんだよな?
設計を紙に落として階層分けてみたら意外なこと発見するかもよ

447:デフォルトの名無しさん
10/03/09 00:36:58
C++覚えたてのときは相互参照とか書き方分からなかったな

448:デフォルトの名無しさん
10/03/09 00:53:04
そんなもん必要な時点でレベル低いだろw

449:デフォルトの名無しさん
10/03/09 01:03:46
>>444
状況を具体的にして初心者スレに行くのがいいと思いますよ。

450:デフォルトの名無しさん
10/03/09 01:15:43
ダーウィンの進化論は未だに証明されていないって
まじめに主張している奴も世の中にはいるからな。
思い込みの激しい奴に何を言っても無駄だろう。

451:デフォルトの名無しさん
10/03/09 01:38:24
進化論て証明できる類のものなのか?

452:デフォルトの名無しさん
10/03/09 01:41:36
科学と呼ぶためには「再現性」が無いと
進化論が科学だとすると、進化論の進化を再現してみせないと

453:デフォルトの名無しさん
10/03/09 02:01:06
アメリカの湖で、環境破壊の影響で、40年ほどで交配できないレベルの新種が誕生した、って実例がある。
交配できないほどじゃないけど、似たような話は琵琶湖にもある。
進化ってのは、条件さえ整えば、そんなに時間がかかるもんじゃない。

454:デフォルトの名無しさん
10/03/09 02:02:23
交配できないって、陸イグアナの海イグアナの雑種みたいなもんか?

455:デフォルトの名無しさん
10/03/09 02:27:02
>>454
はい

456:デフォルトの名無しさん
10/03/09 02:37:35
何?進化論や遺伝とか取り込んだゲームでも作ろうって話?
シュミレーションゲームか?

457:デフォルトの名無しさん
10/03/09 02:45:56
Javaでゲーム作るとき
GUIアプリとか、ネットのアプレットとか、携帯端末のMIDletとか、で
相互に移植しやすく作るには
入出力系統を分離して設計すればOK?

458:デフォルトの名無しさん
10/03/09 03:45:34
>>456

459:デフォルトの名無しさん
10/03/09 03:57:00
Javaはゲームに向いてないと思いますよ。

460:デフォルトの名無しさん
10/03/09 04:04:01
>>456

461:デフォルトの名無しさん
10/03/09 04:04:44
>>457
Javaでゲームは作れないですよ。

462:デフォルトの名無しさん
10/03/09 04:06:44
Javaは可能を不可能にする素晴らしいプログラミング言語

463:デフォルトの名無しさん
10/03/09 04:06:53
>>459,461 お前ら何を根拠にそんなこと言ってんの?

464:デフォルトの名無しさん
10/03/09 04:23:18
>>456}

465:デフォルトの名無しさん
10/03/09 04:27:58
>>463
「本格的な」という単語が抜けているだけですよ。
本格的なゲームを作りたいなら、Javaはやめておけ

466:デフォルトの名無しさん
10/03/09 06:31:42
>>465
「本格的な」が今あるリソースの限界まで使うような物を指しているなら同意する


467:デフォルトの名無しさん
10/03/09 06:34:29
じゃう゛ぁでテトリス作った俺は髪

468:デフォルトの名無しさん
10/03/09 07:33:32
C/C++でもリソースを限界まで使ったゲームって稀だと思うけどな

469:デフォルトの名無しさん
10/03/09 08:22:27
>>468
javaだとグラフィックやサウンドをnativeと同じようにさわるのは敷居が高いって事じゃろ
でもjavaでゲーム作るの向いてないとか言う子はjake2位は見ておくべきだとおもうな


470:デフォルトの名無しさん
10/03/09 09:34:51
>>457
Javaに限った話じゃないけどインターフェースを共通化したクラスを用意しておけばいいよ。
最近、Javaアプレットは使われなくなった気するけど・・・

471:デフォルトの名無しさん
10/03/09 09:37:37
>>470
インターフェースを共通化ってwww
とりあえず、インターフェイスの概念でも勉強したらどうかね?
危険が危ないみたいなもんだよwシロウトクン

472:デフォルトの名無しさん
10/03/09 10:34:13
煽るだけが能の奴がいるな

473:デフォルトの名無しさん
10/03/09 10:36:51
>>472
自演乙

474:デフォルトの名無しさん
10/03/09 10:44:54
>>456

475:デフォルトの名無しさん
10/03/09 10:49:08
このスレ、たまにド素人が質問してくるから嫌だ。このスレは玄人向けのスレだ

>>457 ↓こっち池。これが素人向けのスレだ
Javaゲーム作成総合スレ
スレリンク(gamedev板)

476:デフォルトの名無しさん
10/03/09 10:50:49
このスレって何の役にもたたないね

477:デフォルトの名無しさん
10/03/09 10:52:22
この板はプログラムを作る人のための板です。

あらゆる質問はまずすれ立てるまでもない質問はここでスレにしてください。

その他、お勉強ページへのリンクスレ、
推薦図書・必読書スレ
もあります。

プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。    ←★
ネタ、板とは関係の無い話題はご遠慮ください。

ローカルルール無視したスレ立てんなよ

478:デフォルトの名無しさん
10/03/09 10:52:35
>>476
お前みたいなもんだな
役立たず

479:デフォルトの名無しさん
10/03/09 10:53:33
>>1
ローカルルール無視したスレ立てんなよ


この板はプログラムを作る人のための板です。

あらゆる質問はまずすれ立てるまでもない質問はここでスレにしてください。

その他、お勉強ページへのリンクスレ、
推薦図書・必読書スレ
もあります。

プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。    ←★
ネタ、板とは関係の無い話題はご遠慮ください。

480:デフォルトの名無しさん
10/03/09 12:36:39
チラ裏だが、最近になってやっとこさ「オブジェクトにグラフィックコンテキストとか引数に持つインターフェース付けんな」
って意味がわかった。
オブジェクトはデータの構造であり、普通はデバイスにより描画方法が異なるんだから
描画メソッド持たせてたら端末ごとにクラス作り直しじゃんかバーカ、ってことに気付いた。
で、代わりにインターフェースだけ持たせておいてそのインターフェースを実装するクラスの中身だけ端末によりけり…
って方法がいいらしい。多分。

481:デフォルトの名無しさん
10/03/09 16:55:10
わーい

482:デフォルトの名無しさん
10/03/10 01:49:50
自由なゲーム製作を阻害する特許ってある?
スレリンク(gamedev板)

これはヤバイお


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch