トップページgamedev
1001コメント321KB

C/C++ゲーム製作総合スレッド Part6

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名前は開発中のものです。2014/07/08(火) 19:30:19.51ID:J+zVqUil
ゲーム製作におけるC/C++全般に関するスレです。

元スレ
DXライブラリ 総合スレッド その17
http://toro.2ch.net/test/read.cgi/gamedev/1383795645/

前スレ
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/
C/C++ゲーム製作総合スレッド Part2
http://toro.2ch.net/test/read.cgi/gamedev/1351015269/
C/C++ゲーム製作総合スレッド Part3
http://toro.2ch.net/test/read.cgi/gamedev/1357899040/
C/C++ゲーム製作総合スレッド Part4
http://toro.2ch.net/test/read.cgi/gamedev/1376262450/
C/C++ゲーム製作総合スレッド Part5
http://peace.2ch.net/test/read.cgi/gamedev/1389798031/
0859名前は開発中のものです。2014/12/13(土) 10:06:03.65ID:KmIl68fQ
読めるコードを書く能力より、
どんなコードでも読める能力の方がいい。
0860名前は開発中のものです。2014/12/13(土) 10:33:09.68ID:GVgS9kEW
>>859
読めるコード書けないとチーム開発で役に立たないじゃん
リバースエンジニアリング専門でやんの
0861名前は開発中のものです。2014/12/13(土) 11:10:08.60ID:vJXa5IWH
このスレ、プログラマーが複数人開発の環境の人、居るの??
0862名前は開発中のものです。2014/12/13(土) 11:19:10.70ID:KmIl68fQ
読める具合が数値化できればいいのだけど。
何書いても読めない人はいるわけで。
0863名前は開発中のものです。2014/12/13(土) 11:28:25.00ID:A651+XDE
>>858
すげーな。
実力派だな。

やっぱ自分で書くのが一番気持ちいいな。
基本的には一人で全部組んでるな。
生産性は別にしてw
0864名前は開発中のものです。2014/12/13(土) 11:46:26.04ID:OLxz298b
ダーティーなコードを読む能力ついでにクリーンコードに書き直す能力もあった方がいいな

まあlint通してからやれば比較的楽だが
0865名前は開発中のものです。2014/12/13(土) 12:02:01.67ID:cTfiogfq
enum(エナム)
struct(ストラクト)
const(コンスト)
yield(イヨールド)
extern(エクスターン)
explicit(エクスプリクト)
sizeof(サイズオフ)
0866名無しさん@そうだ選挙に行こう2014/12/13(土) 12:42:15.70ID:GVgS9kEW
enumえにゅうむ
yieldいーるど
exturnいくすたーん
explicitいくすぷりしっと
sizeofさいずおぶ
0867名無しさん@そうだ選挙に行こう2014/12/13(土) 12:46:53.80ID:YQCx+6st
×exturn
○extern
0868名無しさん@そうだ選挙に行こう2014/12/13(土) 12:47:23.37ID:GVgS9kEW
oh misstake
0869名無しさん@そうだ選挙に行こう2014/12/13(土) 12:47:27.98ID:vmsxYpAR
いや読むってのは音読することじゃないから
0870名無しさん@そうだ選挙に行こう2014/12/13(土) 13:34:00.06ID:cTfiogfq
「ある画像が透明になりきったら、画面を別の画面に遷移する」という処理をしたいんですけど
その「ある画像」の不透明度に依存して画面遷移を操作してもいいんでしょうか?

・その画像の不透明度は他で操作されない
・SetOpacityの内部で0以下255以上の数値はそれぞれ最小値最大値に正規化される
という環境であるものの、減少し続ける値を等価演算子で比較したりするのは、ゲームを作り慣れてる人から見るとどうなのかなと

それに、画面に複数ある内の1つのパーツでしかない画像に画面が依存するのはオブジェクト指向?的にはどうなんでしょうか?

Scene::update(){
if(image->GetOpacity() == 0){
//遷移する
}else{
image->SetOpacity(image->GetOpacity()-15);
}
}
0871名無しさん@そうだ選挙に行こう2014/12/13(土) 13:39:12.16ID:A651+XDE
>>870
透明度を直接評価するんじゃなくて、
もう少し抽象的に、遷移準備完了状態、みたいなものを評価したら汎用的じゃない?
0872名無しさん@そうだ選挙に行こう2014/12/13(土) 13:54:47.72ID:cTfiogfq
>>871
こんな?感じでしょうか
違和感すっきりしたんでこれでやってみます、ありがとう

Scene::update(){
 if(image->GetOpacity() == 0){
  transitionFlag = true;
 }else{
  image->SetOpacity(image->GetOpacity()-15);
 }
 if(transitionFlag){
  //遷移
 }
}
0873名無しさん@そうだ選挙に行こう2014/12/13(土) 15:13:37.37ID:ZiMlwiS0
スレ流し読みしてたらフルスクラッチ云々のせいで乾燥肌が痒くなってきた

フルスクラッチ派:「あぁ^〜痒いところに手が届くんじゃぁ^〜」(バリバリ
0874名無しさん@そうだ選挙に行こう2014/12/13(土) 18:29:40.45ID:OLxz298b
まー確かに自分の都合でどんどん改変できるしなあ
0875名無しさん@そうだ選挙に行こう2014/12/13(土) 20:39:35.80ID:8y/GDHu5
何度も言うが、初心者は大抵の場合自作ライブラリが完成する前に力尽きるからな
ある程度ガリガリ書けるようになるまで絶対に真似するんじゃないぞ!
0876名無しさん@そうだ選挙に行こう2014/12/13(土) 20:59:49.32ID:xmg5RhiV
ライブラリ作るほうが楽しい
0877名無しさん@そうだ選挙に行こう2014/12/13(土) 21:24:26.17ID:ht1CXKxj
車輪の再発明はしないとか言ってるけど、ライブラリ作らないやつの技術力は総じて低いしな
0878名無しさん@そうだ選挙に行こう2014/12/13(土) 22:34:29.96ID:ZiMlwiS0
おじさんはいつも即売会で一旦真っ白な灰になって意欲が回復したら
しょぼしょぼとリファクタリングだなぁ…そのサイクルを繰り返す内に
ライブラリやら何やらが自然と充実していったよ

凡人だから知見の獲得は経験の積み重ねによるところが大なんだよねぇ
0879名無しさん@そうだ選挙に行こう2014/12/13(土) 22:37:32.08ID:8y/GDHu5
しかしむやみに作るとscanfの二の舞に
あのくらいの代物詰め込んだライブラリを作るなら他人の作った物使って下さい、頼むから

元々多くの人に使われる予定がなかったからなのか、
超がつくくらい初期の関数のせいなのか、あの関数欠陥が多すぎ
一体何に使う予定だったんだろうか?
0880名無しさん@そうだ選挙に行こう2014/12/13(土) 23:06:20.95ID:A651+XDE
>>878
ゲーム売ってるんだ。
すごい。
自分の作ったゲームをプレイしてもらうのって、やっぱ即売会がいいの?
ネットでそういう場とかないのかな?
最近だと、ニコニコの自作ゲームコンテストみたいなのかな?
0881名無しさん@そうだ選挙に行こう2014/12/13(土) 23:31:59.05ID:MCAEResE
>>880
DLSiteとかDMMとか、いくらでもあるが?まあエロや萌えに偏ってるきらいはあるが
0882名無しさん@そうだ選挙に行こう2014/12/14(日) 02:35:05.98ID:9YbZbvSi
scanf詳しく
0883名無しさん@そうだ選挙に行こう2014/12/14(日) 09:49:32.25ID:BC24ajZK
呼び出すだけでコマンドラインでインタラクティブ いやっほぅ! の優れものだぜ
元々プロ中のプロしか使わない前提だけどな

前提をひっくり返すなら中級者以下がCを使うこと自体がおかしい
0884名無しさん@そうだ選挙に行こう2014/12/14(日) 11:18:28.43ID:V/uzlPBv
scanfは超初学の頃に学んだとき以外触った記憶がないな
コマンドラインでインタラクティブなんてシェルで十分だし
0885名無しさん@そうだ選挙に行こう2014/12/14(日) 15:09:32.61ID:L+QkNmy7
>>880
おじさんは古型なので流行りの頒布方法とかよくわからないけど
言いたかった事は、凡人なら頒布(他者に晒すor他者の評価を聞く
過程)を伴う経験のサイクルは大切だということ。PDCA、反復型

身近な友人同士でも即売会でも何でもいいと思うよ
0886名前は開発中のものです。2014/12/17(水) 07:39:05.49ID:AgN/4Z5H
UnityってNetworkクラスとかNetworkViewクラスとかあるけど、あれ使うとMMOとか作れるの?
0887名前は開発中のものです。2014/12/17(水) 09:32:33.84ID:4MvBwvFG
Muchi Muchi Oppaiか、もちろんだ
0888名前は開発中のものです。2014/12/17(水) 10:25:45.45ID:/fBBXLJf
スレチ
0889名前は開発中のものです。2014/12/17(水) 12:10:44.24ID:H3GRnYo+
社員乙
0890名前は開発中のものです。2014/12/20(土) 19:07:18.57ID:Chph+5fV
スタックを使うメリットとヒープを使うメリットって何?
0891名前は開発中のものです。2014/12/20(土) 20:02:00.84ID:keBzJKTR
この処理ではこっちを使う、この処理ではあっちを使う…って、
ほぼ自動的に決まるから、あんまりメリット/デメリットを意識することって無いと思う。
0892名前は開発中のものです。2014/12/20(土) 21:32:50.60ID:hNo8GLbS
開放忘れを気にしなくていいかどうかくらいじゃないの?
ただスタックはあくまで一時的なものって意味合いが強くて、
容量制限があるからあんまりでっかいものをガンガン作れないってのと、
あとCPUキャッシュ的に有利ってのがあるけど、
まあ>>891の言うように実際使うときははあんまりメリット・デメリットを意識することも無いと思う
0893名前は開発中のものです。2014/12/21(日) 03:38:59.26ID:tJq5gWK6
スタック
 ・レジスタの値を書き換えるだけでメモリ確保されたことになるので比較的速い
 ・変数のスコープが抜けた時に自動的に解放される
ヒープ
 ・スタックには確保できない大きな領域を使える
 ・確保するサイズを実行時に動的に決定できる(スタックでもできなくはないけど)
 ・スコープを跨いだ寿命の長いメモリ領域として使用できる

あとなんかあるかな
0894名前は開発中のものです。2014/12/21(日) 11:16:24.87ID:UoMqn2et
スタックとヒープってなんだ?
調べてみたら自動変数がスタックでnew演算子を使うのがヒープって書いてあるけどあってるの?
0895名前は開発中のものです。2014/12/21(日) 11:18:03.73ID:cF9cgol+
QtのクラスはRAIIの考え方に基づいていて
メモリ解放が殆ど自動化されているから
ヒープ確保でも単純ミスでメモリリークすると言う事が少ない
0896名前は開発中のものです。2014/12/21(日) 11:43:00.73ID:UoMqn2et
Javaみたいに後でまとめてメモリ開放するでもなく、
参照が0になったらその場で開放してくれる言語ってないの?
スマポ利用するとかじゃなくて言語レベルで。VM無いと無理なのか?
0897名前は開発中のものです。2014/12/21(日) 12:12:25.01ID:ImGMMbuW
C#
0898名前は開発中のものです。2014/12/21(日) 12:18:34.78ID:cF9cgol+
なぜそこまでGCを嫌う?
最近のVMのGCはかなりうまくやってくれていると思うけど

>>897
(゚Д゚)ハァ?.NETはGCするだろ
0899名前は開発中のものです。2014/12/21(日) 12:20:14.63ID:xV1M/iBe
>>896
swift
ARC有効にしたObjective-C

参照カウントだけだと弱参照するところをどうやっても意識する事になるから流行らないんだろうよ。中途半端だから。
0900名前は開発中のものです。2014/12/21(日) 12:57:51.36ID:IwHuX+Tw
>>899
swiftは今っぽい構文なだけで、その辺りは15年前レベルだよな。

参照カウント + 循環参照用のGCはスクリプト言語ならあるな。 PythonとかSquirrelとか。
クロージャをサポートすると、循環を避けるのは難しい。
0901名前は開発中のものです。2014/12/21(日) 14:04:19.84ID:tJq5gWK6
http://seesaawiki.jp/w/author_nari/d/GC
以前どっかで教えてもらったGCの各アルゴリズム(とそれを実装してる主な言語)をまとめてるサイト
結構勉強になった

見ていて、C++上で既存のデータ構造との親和性を保ちながら実装するのは無理そうだなーとも感じた
0902名前は開発中のものです。2014/12/21(日) 14:05:13.03ID:tJq5gWK6
あ、ちょっと訂正
× 実装するのは無理そうだなーとも感じた
○ 実装するのは俺には無理そうだなーとも感じた
0903名前は開発中のものです。2014/12/21(日) 17:21:30.42ID:3dyKCo+m
ガベコレって使いづらい印象付きすぎちゃったもん
0904名前は開発中のものです。2014/12/23(火) 01:05:19.57ID:UuPEmr1n
バカにはそういう印象付いちゃったよね^^;
しかもバカって一度持った印象を絶対に改めないから…
0905名前は開発中のものです。2014/12/23(火) 20:19:18.60ID:y5yR41zs
デストラクタで十分
0906名前は開発中のものです。2014/12/23(火) 22:15:26.87ID:I+Smn/JJ
デストラクタ(ファイナライザ)はリソースを解放するもので
いつデストラクタを呼ぶかを自動化するのがGCなんだよなぁ
0907名前は開発中のものです。2014/12/23(火) 22:25:27.90ID:IjLiTo3j
shared_ptrが標準化され、RAIIが一般的になった昨今、
ガベコレの意義が分からない。
0908名前は開発中のものです。2014/12/23(火) 23:15:42.17ID:PQqq+vmb
スレッド使ってたら生のデストラクタは使えないし、
sharedは循環参照に気を使わないといけないのがなぁ
0909名前は開発中のものです。2014/12/24(水) 04:46:42.87ID:INaba3Bc
生のデストラクタってなんぞ…
0910名前は開発中のものです。2014/12/24(水) 09:59:07.80ID:+KNBOnw3
おそらく「スタック上には確保できない」って言いたいんだろう。
スコープを抜けた後も別のスレッドで使われるから。
0911名前は開発中のものです。2014/12/24(水) 19:08:44.28ID:JqKQyI9r
GC「後で掃除しときますんで」
ぼく「これもやっといて」
GC「あ、すいません、今掃除してるんで」
ぼく「今すぐ処理してほしいんだけど」
GC「あと20分ぐらい待ってください」
ぼく「は?処理できない・・・」

こんな印象
0912名前は開発中のものです。2014/12/24(水) 23:09:56.90ID:mC2vVuxE
世代別GCなめんな
0913名前は開発中のものです。2014/12/25(木) 00:07:59.44ID:GYUw7kdq
>>910
RAIIと関係なくね?流れ的にRAIIでは対応出来ないケースを挙げたように読めるんだけど。
0914名前は開発中のものです。2014/12/25(木) 00:11:13.27ID:MJlq1Aj4
「生のデストラクタ」なんて謎の用語を使うようなやつが、「流れ」を読めていると思うのか?
09159082014/12/25(木) 00:51:14.98ID:0+lNtng/
>>910
ちょっと違う
スコープを抜けたときに普通にデストラクタが呼ばれるものを「生」と、
スマートポインタ等で使う工夫したデストラクタと区別するために言ってみた

>>914
生のポインタとスマポがわかるなら適当に空気嫁や
0916名前は開発中のものです。2014/12/25(木) 01:24:40.70ID:C10OwjTO
いや、本人以外理解できてないって事は、言葉選びを間違ってるって事なんだから、読み手に責任転嫁すんなって。
0917名前は開発中のものです。2014/12/25(木) 01:26:24.11ID:0+lNtng/
正直スマンかった
0918名前は開発中のものです。2014/12/25(木) 02:39:55.48ID:+bLp0IG7
結局ちょっと手を加えるだけで簡単にメモリ解放ができるデストラクタ便利
0919名前は開発中のものです。2014/12/25(木) 06:37:13.40ID:GYUw7kdq
>>915
その説明でも意味わかんねえんだけど?
スマートポインタ等で使う工夫したデストラクタ?
スマートポインタのデストラクタの事?
それとスレッドがどう関係してくるんだ?
0920名前は開発中のものです。2014/12/25(木) 07:27:27.19ID:lfp6OMz3
>>911
GCって掃除して!って言えば掃除してくれるよ?
問題は、掃除してくれと言える人が少ない事とか、
捨てるべきでないものまで捨てちゃう事かと

ヒープ上の参照は無視して掃除するんだよなぁ……
0921名前は開発中のものです。2014/12/25(木) 08:08:39.90ID:MJlq1Aj4
>>920
質の悪いGCを使っているか、単に使い方をミスってるだろ
0922名前は開発中のものです。2014/12/25(木) 08:15:02.30ID:MJlq1Aj4
>>915
ちょっと違う じゃねーよ
確保する場所がスタック上かヒープ上かの違いだけじゃねーか
0923名前は開発中のものです。2014/12/25(木) 08:54:43.93ID:wubB5pdO
>>921
GCって最初は親切だけど、結局面倒臭いものなんだね
メモリ管理をする手間は変わらないじゃん
0924名前は開発中のものです。2014/12/25(木) 10:29:27.96ID:Y3U3uktg
GCで最も困るのはメモリ解放時のStop the Worldだが
v8は少ないと思う
0925名前は開発中のものです。2014/12/25(木) 12:54:07.39ID:MhE4palG
どっちがいいなんてアプリケーションによるんじゃね?
0926名前は開発中のものです。2014/12/25(木) 14:31:05.41ID:+bLp0IG7
速度重視のゲーム開発でGCなんて重い物動かす余裕はないね
結構色々なゲームで使うA*だけでもそれなりに食うってのに
0927名前は開発中のものです。2014/12/25(木) 15:29:01.01ID:ZzsGRtB9
使うタイミングと量を間違えなければ、特に問題にならない気がするけどなあ
0928名前は開発中のものです。2014/12/25(木) 16:21:19.48ID:qeWu8Kkf
メディエイターパターンでshared_ptr使った場合ってメモリリークするの?
0929名前は開発中のものです。2014/12/25(木) 21:11:54.62ID:ICmaagKn
>>928
ん、学校の宿題?違うなら以下の逆質問に答えてみてくれないか?

@ shared_ptrの典型的実装は何
A @でメモリリークする場合の典型的原因は何
B mediatorの目的は何
C BはAを誘発する方向に作用するか

mediator使ってAを招いてメモリリークさせる男の人ってどう思う?
0930名前は開発中のものです。2014/12/25(木) 21:30:48.42ID:0+lNtng/
>>922
違うわ
普通はやらんがスタック上でも別にスレッドで使えるわ
確保する場所の話をしてるんじゃねぇ
デストラクタを呼んだ時の振舞の違いを言っとるんだ
0931名前は開発中のものです。2014/12/25(木) 21:47:40.02ID:MJlq1Aj4
>>930
「デストラクタが呼ばれ方」の話だったはずが、いつの間にか「呼んだ時の振舞」に摩り替わっている。
具体例まで挙げないと、君の話は他人には理解できないぞ。
0932名前は開発中のものです。2014/12/25(木) 22:18:25.00ID:rdtwM2Em
そして呼んだ時の振る舞いって話だったとしてもイミフメー
そもそも配置newしないかぎり自分でデストラクタを呼ばないし。どんどん謎な方向へ。
0933名前は開発中のものです。2014/12/25(木) 22:24:10.39ID:0+lNtng/
生のデストラクタを呼ぶってのは俺の中じゃ、単にdelete xのこと
スレッド使ってたら↑みたいなのは管理が面倒なので使えないっしょ。それだけの話

で、参照カウンタを使ってデストラクタ呼ぶか、マーク&スイープみたいな仕組みでデストラクタを呼ぶか
その振る舞いが違うけど、俺は循環参照に気を使って設計しないといけないのは、やだなぁと言っただけ

そもそも深い話でも続けるような内容でも何でもないだが
0934名前は開発中のものです。2014/12/25(木) 22:27:00.95ID:0+lNtng/
ちなみに>>908>>905宛て
0935名前は開発中のものです。2014/12/26(金) 11:43:36.55ID:IXxiiBMK
よくわかんないけど「手動でデストラクタを呼ぶ」じゃダメだったん?
0936名前は開発中のものです。2014/12/26(金) 16:51:22.54ID:xlNeQ6wG
自動化の権化プログラムを扱う人にとって自動化はロマン
特に多くの人がつまづく面倒くさい処理を自動でやってくれるって素敵やん?
解放処理を描かずに済む分コードも減るし、初心者やうっかりさんにやさしいし
世の中にはそういうできる限り完全自動にこだわる人もいるのです

細かい個別の事案にまで高速に対処できる高い能力を持ったオートデストラクタなんて、
それこそマイクロソフト並の巨大企業が本腰入れてデータ集めないと完成まで何年かかるか分からないレベル
消すには消せるが処理速度に影響を与えて邪魔で使えなかったりすればゴミだし
0937名前は開発中のものです。2014/12/26(金) 18:51:58.22ID:9MuNlFH5
演算能力が頭打ちになりそうな昨今、プログラマが殴られるのが規定路線。
自分で何とかしろ、ってこと。
RAIIで十分じゃない。
0938名前は開発中のものです。2014/12/28(日) 12:00:32.40ID:DVHfXhJL
クラスのポインタ変数をdeleteした後、
そのポインタ変数にNULLを入れて他の処理でNULLチェックをしてぬるぽ回避してるんですが、
逆に言えばdeleteした後NULLを入れてないとぬるぽ回避できないということで、
一般的に職業プログラマではどういうふうにdeleteした変数を識別してるんでしょうか?
0939名前は開発中のものです。2014/12/28(日) 12:24:23.36ID:5FK2L+6G
生ポインタよりもスマートポインタを使うのが一般的じゃねーの
0940名前は開発中のものです。2014/12/28(日) 13:58:25.18ID:dAYPhj1N
生ポインタの場合
#define SAFE_RELEASE(p) { delete p; p = NULL; }
みたいなマクロ使ってるのを見たことある

俺の趣味プログラミングだとshared_ptrやunique_ptr使ってる
boolへの型変換が定義されてるから普通のポインタみたいに
 if (p) { /* スマートポインタが有効だった時の処理 */ }
とかできるし
0941名前は開発中のものです。2014/12/28(日) 14:54:46.81ID:DVHfXhJL
みんなスマポなんですか
まぁ生ポインタと同じように扱えるならそっちのほうがいい感じですか
代入で参照カウントが増えるのはオペレーターとかいうやつですか
0942名前は開発中のものです。2014/12/28(日) 18:56:20.33ID:uPxHRIHV
俺はあんまりスマポは使わないな
ちょっと作ったらテストしてリークしてたらメッセージでるし、
deleteのタイミングが難しい場合ぐらいしかスマポ使わないよ。
ポインタ変数なんか、ほとんどの場合どっかのクラスのメンバーに
なってるからデストラクタでdeleteするようにしてるし
0943名前は開発中のものです。2014/12/28(日) 20:49:21.58ID:KLVWt4ts
マウスカーソルを対象の位置に置いてマウスホイールで対象にズームするような機能をつけたいのですが
どのように実装すれば良いでしょうか
Siv3Dを使っています
0944名前は開発中のものです。2014/12/28(日) 20:55:05.01ID:ToxqMv2l
素朴な疑問なんだけど、ワープロやグラフィックソフトのオブジェクトと違って
ゲーム中に出現するキャラクタの数は大体決め打ちできるんじゃないの。

Cの作法に則って毎回newして確保するんじゃなくて、例えば1オブジェクト最大256バイト、
80体まで出現するならchar slot[256*80]のような形で生メモリ領域をあらかじめ確保しておいて、
ふだんはp = (Actor*)&slot[256*n]; if (p->Exists) { p->Act(); }でいい気がするんだけど。

もちろんActorは基底クラスで、必要でない時はp->Exists = falseにする。
作成時はnewでなくスタック上でコンストラクタ呼び出して、領域に内容丸ごとコピー。

もしかしたら全然違う用途の話かも知れないけど。
0945名前は開発中のものです。2014/12/28(日) 20:57:03.11ID:R8bFfUbq
FlyWeightパターンとかもある
0946名前は開発中のものです。2014/12/28(日) 21:15:10.93ID:vMYsGefx
>>944
動的メモリ確保はパフォーマンスへの影響が大きいので、
可能な限りは最大出現数分の配列を確保しておく。
0947名前は開発中のものです。2014/12/28(日) 22:21:01.45ID:D5X5qYnm
むしろそんなに重要な物なら絶対に常時必要分確保しないといかんと思うけど
他のジャンルならともかく、敵が出るたびになんだかカクつくSTGなんか嫌だぞ
0948名前は開発中のものです。2014/12/29(月) 00:30:37.06ID:gxX17JP7
逆に、例えば「格闘ゲームにおけるキャラクタ選択画面」なんかは
その画面にいる間オブジェクトは一定だろうから >>942 方式で十分だと思う。

そう考えるとゲームの場合、シミュレーションとか特殊なルールでオブジェクト数に
上限を設けたくないとかでなければポインタ制御は簡素に纏める方向でいいと思うんだわ。
0949名前は開発中のものです。2014/12/29(月) 00:45:24.09ID:Ue1eh9PX
まぁ、無理にスマポ使う必要はないと思うけど、
スマポを知って感動して以降、newするものやopen/close系のものは余程でない限りはRAIIで書くようにしてたら、
deleteを書くことが(ほぼ)なくなった。
当然、メモリリークもゼロ。

RAIIを知った前後でプログラムの規模・品質が雲泥の差になったわ。
0950名前は開発中のものです。2014/12/29(月) 01:07:57.04ID:0UxFRGu4
今は、boostにスマポも入っているだろ
0951名前は開発中のものです。2014/12/29(月) 01:44:11.15ID:32D0f9iV
memoryとの違いがわからん
0952名前は開発中のものです。2014/12/29(月) 07:13:22.67ID:aw7mXH6p
今最新のVSに入ってるC++も当然11だよな?スマポ余裕で使えるじゃん boost不要
0953名前は開発中のものです。2014/12/29(月) 11:06:00.25ID:UPrXKgd4
リークするのはてめえの脳みそだけにしておけ
0954名前は開発中のものです。2014/12/29(月) 18:43:53.95ID:aw7mXH6p
うん?現行最新のVSなら3種類の型が使えるだろ?実質2種類だけど
VS以外を使っていたりとかVS標準スマポの仕組みや性能が気に入らないってのは知らない

っつーかな、書き落としはリークじゃなくね
0955名前は開発中のものです。2014/12/30(火) 03:36:36.79ID:vvze8R+p
データの圧縮や解凍ってどうやってる?
簡単な圧縮かけた方がファイルからデータに展開するのも早いし、
(ファイルの読み書きの速度と展開速度を天秤にかけた)
解析する人にとっても多少は面倒になるかな?と思って
GPLとかに感染しないのがあると良いな

やっぱ、自力でやるしか無い?
0956名前は開発中のものです。2014/12/30(火) 03:46:28.22ID:W5CPlMBg
>>955
zlib
0957名前は開発中のものです。2014/12/30(火) 04:01:26.42ID:bdHUCtIv
バイナリ全部繋げてcueファイルにインデックスいれときゃいんじゃね
0958名前は開発中のものです。2014/12/30(火) 08:13:45.13ID:swhFWkgZ
今使うならLZ4かな
レス数が950を超えています。1000を超えると書き込みができなくなります。