[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 12/24 03:50 / Filesize : 178 KB / Number-of Response : 777
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名前は開発中のものです。 mailto:sage [2012/10/24(水) 03:01:09.64 ID:oI68Vzqz]
ゲーム製作におけるC/C++全般に関するスレです。

元スレ
DXライブラリ 総合スレッド その12
toro.2ch.net/test/read.cgi/gamedev/1330000532/
C/C++ゲーム製作総合スレッド Part1
toro.2ch.net/test/read.cgi/gamedev/1337516528/

187 名前:名前は開発中のものです。 mailto:sage [2012/11/13(火) 11:35:18.71 ID:A9vKBFCi]
vectorの中身をポインタにして比較関数の中でポインタの先参照して比較って感じでいいのかな?

188 名前:名前は開発中のものです。 mailto:sage [2012/11/13(火) 14:36:53.02 ID:7uL1yheX]
でも「毎フレーム全ソート」って本当に必要?
弾が作られた時にだけ適所にインサートすればいんじゃない?

189 名前:名前は開発中のものです。 mailto:sage [2012/11/13(火) 15:38:57.87 ID:4wR9uF6j]
ソート方法によるけど、STLのマージソートは未ソートの要素が多いほど時間が掛かって、
ソート済の場合ほとんど処理を食わないから毎フレームソート処理してても大して問題ないはず

それに>>185は3D空間のオブジェクトのソートをしてるというから、カメラがちょっと動いただけでもソートの必要が出る
ソート関数にかけること自体がソートする必要があるかの判定になってると言ってもいい

190 名前:名前は開発中のものです。 mailto:sage [2012/11/13(火) 16:39:59.60 ID:eWkVVOn6]
>>183ですが
とりあえずstlのソートでも十分速いと言うことなので安心した
勉強になりました

191 名前:名前は開発中のものです。 mailto:sage [2012/11/13(火) 21:04:01.78 ID:cEtJDQKT]
横。

vectorにポインタを格納するとして、本体はどこに置くの?
もちろん状況次第だとは思うけど、別のvectorとか?

192 名前:名前は開発中のものです。 mailto:sage [2012/11/13(火) 21:19:11.80 ID:a9WU8SHc]
ヒープ

193 名前:名前は開発中のものです。 mailto:sage [2012/11/13(火) 21:43:47.14 ID:HVfjUt4J]
newしろ

194 名前:名前は開発中のものです。 mailto:sage [2012/11/13(火) 21:56:20.66 ID:Oj4WY+EN]
固定で別の配列にするのが普通だと思う

195 名前:名前は開発中のものです。 mailto:sage [2012/11/13(火) 22:23:30.25 ID:4pvX9vHm]
なら実データをvectorに入れればいいじゃん



196 名前:名前は開発中のものです。 mailto:sage [2012/11/13(火) 22:35:19.83 ID:R7nFxA7+]
シーンの最初と最後に生成、破棄するならauto_ptr使って
ポインタだけvectorで管理するのもありなんじゃないかと
思ったんだがどうだろうか

197 名前:名前は開発中のものです。 mailto:sage [2012/11/13(火) 22:43:12.39 ID:HVfjUt4J]
とりあえずauto_ptrとかいうゴミを捨てるんだ

198 名前:名前は開発中のものです。 mailto:sage [2012/11/13(火) 22:57:50.27 ID:R7nFxA7+]
よく考えたらauto_ptr使って元のポインタだけ管理しようとしたら
newしてる関数抜けた瞬間deleteされるからダメかw

199 名前:名前は開発中のものです。 mailto:sage [2012/11/13(火) 22:58:45.26 ID:BrAT+Ts5]
もうauto_ptr時代遅れなん?

200 名前:名前は開発中のものです。 [2012/11/13(火) 23:01:15.07 ID:KobHHPjK]
気にせず使ってください^^

201 名前:名前は開発中のものです。 mailto:sage [2012/11/13(火) 23:01:32.88 ID:k2b3NisB]
auto_ptrってなんですか? どうしてunique_ptrを使わないんですか?

202 名前:名前は開発中のものです。 mailto:sage [2012/11/13(火) 23:02:03.36 ID:R7nFxA7+]
c++11でdeprecated指定だって
en.m.wikipedia.org/wiki/Auto_ptr

なんかunique_ptrが代わりになるのかな?

203 名前:名前は開発中のものです。 mailto:sage [2012/11/13(火) 23:07:03.03 ID:k2b3NisB]
スコープを抜けるときに自動で閉じるファイルポインタとか
例外いつ投げても閉じてくれるので便利ですね?
std::unique_ptr<FILE, decltype(&fclose)> fp(fopen("filename", "r"), fclose);

204 名前:191 mailto:sage [2012/11/14(水) 00:25:26.13 ID:CmmzPOW9]
>>192-194
最初から数が分かってるか、途中で増えるか等に応じて、
普通の配列、配列の動的確保、vectorあたりを使い分けるって感じかな?

205 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 07:47:57.43 ID:f09Uuje+]
vectorで実体まとめるとバッファのリサイズ発生した時にアドレス変わるんじゃない?



206 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 08:50:51.27 ID:Za6Nl7tI]
そんなの当たり前じゃん。

207 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 08:58:13.52 ID:f09Uuje+]
vectorで実体管理してソートのためにポインタのvector使ったら
リサイズ発生した時点で参照変わるからちゃんと動かなくなるよね
最初に確保した分より増えないなら大丈夫だろうけど
これ発生したら原因特定めんどくさそう

208 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 09:06:59.91 ID:CmmzPOW9]
あー、それもそうか。失敬

209 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 15:05:59.50 ID:Za6Nl7tI]
>>207
っていうか「Vectorで実体管理」がそもそも意味不明。
ポインタで管理してるならそれだけでいいじゃん。

210 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 16:31:57.71 ID:OuQGweox]
確かにvectorにポインタいれときゃそれでdelete出来るな
自分でちゃんとdeleteするならそれで十分か

211 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 17:44:55.77 ID:3cThVkCw]
newしたポインタはとりあえずstd::unique_ptrかstd::shared_ptrに入れるべき
deleteなんて自分で書いたら負けだぞ
デストラクタもハンドル管理クラスみたいなの以外では自分で書いたら負け

212 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 18:27:52.20 ID:lHOdfYqK]
それは一般レベルの場合な
我々のように国家機密レベルでやってる場合は違う

213 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 18:36:32.02 ID:5BbMRJco]
何に負けるんだよ
見えない敵と戦う労力こそが一番の無駄

214 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 19:00:59.45 ID:3cThVkCw]
見えない敵というとメモリリークですね
まあ、お遊びプログラムならすぐに終了されるので
リークしても問題ないのかもしれませんが

215 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 19:09:24.21 ID:3BI2eEEx]
shared_ptrはvectorに入れても大丈夫なのか
vector<shared_ptr<クラス>>でやっときゃ勝手に消えてくれそうだな



216 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 19:15:38.28 ID:CmmzPOW9]
>>211
十行くらいのブロックで、かつ外に出すつもりもないならnew/deleteで書いちゃうなあ

217 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 19:28:19.33 ID:BbQiy07V]
リークするのはお前の脳みそだけにしておけ

218 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 19:32:08.10 ID:FHk4zIEt]
うんまぁお前らも一番実感してると思うけど、自分のルールの一貫性を保つことが一番大事だからな
もちろん柔軟に対応するのも大事だし柔軟に対応できるような構造にしておくことはもっと大事だが

219 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 19:38:37.20 ID:3BI2eEEx]
>>216
ブロックの外に出さないならローカル変数の方がよくない?
可変長だと無理かもしれんけど

220 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 19:40:11.42 ID:3cThVkCw]
生ポインタの場合

A* a = nullptr;
B* b = nullptr;
try {
a = new A();
b = new B();
doSomething(a, b);
}catch(...){
if (a) { delete a; }
if (b) { delete b; }
throw;
}
delete a;
delete b;



std::unique_ptrを使う場合

std::unique_ptr<A> a(new A());
std::unique_ptr<B> b(new B());
doSomething(a.get(), b.get());


なぜわざわざ生ポインタを使おうとするのか、理解できない

221 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 19:52:16.75 ID:3BI2eEEx]
生ポとは関係ないんだけど、例外処理ってしてる?
tryは遅いらしいと何かでみたから基本投げっぱなしスープレックスなんだけど
実際どうなん?

222 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 19:56:47.63 ID:aP39cEyY]
投げっぱなしだとexeが落ちちゃうだろ…(Windowsなら

223 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 20:00:51.70 ID:K6TezrTK]
落ちなかったらバグったまま続いちゃうじゃん?

224 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 20:45:10.81 ID:S4/fLXg9]
なんでC++11前提で話してるのか理解できない

225 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 20:49:59.82 ID:3cThVkCw]
C++11じゃないならboostを使えばよろしい



226 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 21:04:33.08 ID:KC8fJK0S]
>>222
デバッグで例外が発生したら例外の原因箇所にチェック入れて防ぐように修正してる
基本は例外じゃなくて戻り値で成否を返すような感じ

227 名前:名前は開発中のものです。 mailto:sage [2012/11/14(水) 22:40:22.29 ID:FilUuDwR]
スマートポインタの名前の長さは
C++スタイルキャストを思い出す

228 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 00:52:00.71 ID:CCQxRnc8]
ふと思ったんだが、ゲーム・アプリのプレイ期間中に、
同一スコープ内でnewして解放する局面ってあるか?
つうか、プレイ期間中じゃなくても、同一スコープ内で
newして解放する局面って思いつかないな。
同一スコープ内なら、非ポインタのオブジェクト変数で済ませる。

229 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 08:27:34.76 ID:kybbSnHR]
コンストラクタに引数必須とか?

230 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 13:27:32.69 ID:CCQxRnc8]
>>229
変数定義に引数記述してもコンパイル通るよ。
class Test {
public:
  Test(int arg);
   :
};

int a = rand();
Test ins(a);

231 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 13:44:36.27 ID:FiWT7kKo]
>>230
出来るんだ…
考えてみれば出来ない理由もないか


じゃあ>>203みたいにポインタ返すけど、後始末は呼び出し側がやらないといけない関数とかかな?
あとはスタックにデカイ領域作りたくないとか?意味があるかはわからんけど

232 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 17:38:22.10 ID:CCQxRnc8]
>スタックにデカイ領域作りたくないとか

これはあるかもね。
とは言っても具体的な局面が思い浮かばない・・・

233 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 19:13:59.62 ID:JDzb/9N7]
スコープ抜けたら勝手に消えるだけがメリットじゃないだろう
メンバ変数にしておけば親が死ぬとき勝手に死んでくれるし

ていうかスマートポインタ使わないとコンストラクタで例外が発生した時どうするんだ

234 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 20:24:55.99 ID:CCQxRnc8]
具体的にどんな例外を想定してるの?

235 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:06:29.19 ID:JDzb/9N7]
なんでスマートポインタを使うのを躊躇うの?
unique_ptrは自動的にdeleter呼んでくれる上に
性能的には生ポと同じコストで使えるんだぞ



236 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:15:04.36 ID:V2Q8QmNk]
>>235
別に躊躇ってる人は居なくね?

237 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:16:59.75 ID:/bYy5p67]
なんかこの流れ前にも見たな

今話してるのはunique_ptr使うんだったら普通にautoで変数定義すればよくね?
って所だと思うが

238 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:17:12.28 ID:f9BWxP4M]
なんでC++11やboost前提で話してるのか理解できない

239 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:24:24.52 ID:V2Q8QmNk]
この板的には、まだまだ11前提とするには厳しいかなー?

240 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:37:01.79 ID:JeS5pTB2]
新しいもの好きなのはいいけど自分がマイノリティなのに気づけよ

241 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:41:59.03 ID:JDzb/9N7]
>>237
お前は何を言っているんだ
スマートポインタと型推定は全然違う話だぞ

>>239
STLすら厳しそうだ
なぜだか自作ライブラリのほうが優れてるとか勘違いする奴が多いんだよな

242 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:45:29.61 ID:JDzb/9N7]
ゲーム開発とSTL
ttp://d.hatena.ne.jp/masfj/20120308/1331220846

C++を知らないゲームプログラマ達
ttp://d.hatena.ne.jp/alwei/20111008/1318090538

243 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:48:28.33 ID:Dmy8apjq]
>>241
まず話の前提として>>228があってそもそもnewする必要なくね?という問題提起があるんすよ
あと型推定ってなんすか

244 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:51:46.71 ID:V2Q8QmNk]
autoには2種類あるから、そこですれ違ってるんじゃない?

245 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:55:52.06 ID:Dmy8apjq]
ごめん、c++11のautoと勘違いさせたか
俺が言ったのはただの自動変数のことです



246 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:56:18.09 ID:V2Q8QmNk]
>>241
>STLすら厳しそうだ
>なぜだか自作ライブラリのほうが優れてるとか勘違いする奴が多いんだよな

いや、既存ライブラリを使わない病気のじゃなくw

247 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:56:44.58 ID:JDzb/9N7]
スタックオーバーフローしないならnewする必要はないな
でもスマートポインタの使い道ってそれだけじゃないよ?
むしろクラスのメンバ変数にこそ使ってほしい
デストラクタを自分で書くのはもうやめよう

あと、C++11ではautoの意味が変わりました
C#のvarみたいに変数の型を推定してくれるので
STLのイテレータとか死にそうなくらい長い型名でも
for(auto i = v.begin(), e = v.end(); i != e; ++i) { ... }
こんな風に書けて超便利な機能です

248 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 21:58:09.46 ID:JeS5pTB2]
STLは慣れるまでは内部でどういう処理してるのかわからなくて気持ち悪い部分はあったな

249 名前:名前は開発中のものです。 [2012/11/15(木) 22:06:00.91 ID:AHySL0i4]
内部のことなんて知らなくていいんだよ
使い方を知ってれば、低能でも使えるのがSTL
だからこそ意味がある

250 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 22:11:50.11 ID:AKJanR6y]
>>249
それでバグ出したらデバッグで死ねるな

251 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 22:14:31.65 ID:JeS5pTB2]
コード書き間違えるとたまにSTL内部のコードに誘導される時があるよな
記述ミスったところでエラー検知してくれよと言いたくなる

あと気になるのはゲームだからだろうな
静的プログラムなら負荷が発生するパターンなんてどうでもいいけど、
動的プログラムだとそこら辺完全に把握してないと非常に気になる

252 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 22:18:29.51 ID:CCQxRnc8]
>>247
>むしろクラスのメンバ変数にこそ使ってほしい
なぜ自動変数ではダメなん?

253 名前:名前は開発中のものです。 mailto:sage [2012/11/15(木) 22:25:11.84 ID:JDzb/9N7]
STLだとメモリを自分で管理できないとか言ってる奴はいないか
ttp://www.slideshare.net/alwei/ss-11521742

>>252
スタックオーバーフローしないならnewする必要はないな

254 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 07:35:50.58 ID:wj9cLs/W]
www22.atpages.jp/otsr/cgi-bin/src/otsr8520.jpg

www22.atpages.jp/otsr/cgi-bin/src/otsr8521.jpg

255 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 13:39:30.43 ID:BTfLhLXO]
絵柄と相まって小学生が好きそうなノリだなw



256 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 16:46:04.64 ID:N1OcN+jA]
vector配列のvector配列をvector配列で管理する三次元配列って開放する時大本だけ開放しておけばおk?

257 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 17:19:36.14 ID:BTfLhLXO]
vector<vector<vector<int> > > か?
実体さえ行方不明にならなければどうとでもなるが
newしたものを格納してるならshared_ptrじゃないと危ないかもな

258 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 18:07:16.53 ID:sOBt52RE]
typedef shared_ptr<MapData> MapTip
typedef vector<MapTip> Map1D
typedef vector<Map1D> Map2D
typedef vector<Map2D> Map3D

259 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 19:28:23.88 ID:N1OcN+jA]
ポインタじゃなくて実体を格納するなら大丈夫なのか
クラスのメンバとしてコンテナ使ってると混乱してくる

260 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 21:05:15.58 ID:JKxfRh2i]
別にポインタを格納しても何の問題もねえよ混乱しすぎ
Actor* actor = MapTip[0][4][6];
a->Draw();
みたいなアホな事してないなら何の問題もない

261 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 21:08:12.91 ID:N1OcN+jA]
混乱してるのはそこじゃねーよ!

262 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 21:16:48.82 ID:JKxfRh2i]
>>261
悪い、ちょっと想定がアレな上にアホな事コード(vectorのアドレス保存して云々が正しくアホなコード)も間違ってるというアレっぷり

実体なら問題はないが、個人的にはコピーコストが馬鹿みたいにかさむからshared_ptr推奨したいな
メンバのメンバのメンバの...みたいに順々にデストラクタは働くので、実際にユーザーが使用した型であるvector<vector<vector<T>>>をclearすれば、Tのデストラクタがちゃんとしてるならば処理される

263 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 21:28:55.22 ID:bHfLv1nY]
所有権を共有する必要はないのでunique_ptrを使いたいけど
ポリモーフィズムに対応してないという弱点のせいでshared_ptrにせざるをえない

264 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 21:37:31.95 ID:BTWHJeh/]
ていうかunique_ptrってコピーしても大丈夫なん?

265 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 21:56:59.63 ID:Tl4n6tnv]
なんのゲーム作ってるのか誰も書かないではないか。



266 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 21:59:18.17 ID:JKxfRh2i]
>>264
unique_ptrはコピー不可能だよ moveは可

>>263
ポリモーフィズムに対応していない、とは……??
ideone.com/oD6tgf

267 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 22:12:13.09 ID:bHfLv1nY]
あれ、できるようになってる・・・?
前はva[1] = std::move(b);で怒られてた気がしたんだけど

#include <memory>
#include <vector>

struct A {
int val;
A(int i):val(i){}
};

struct B : public A {
B(int i):A(i){}
};

int main()
{
std::vector<std::unique_ptr<A>> va(2);
std::unique_ptr<A> a(new A(1));
std::unique_ptr<B> b(new B(2));
va[0] = std::move(a);
va[1] = std::move(b);
for(auto& i : va) {
printf("%d\n", i->val);
}
}

268 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 22:48:49.93 ID:EdJd2yN1]
すみません
質問です

1次元配列で使用可能な要素を前に詰める関数を書きたいのですがどういう方針で行ったら良いでしょうか?
例えば
TestArray[8]があって、その関数実行後に
|○|○|×|×|○|×|○|×|

|○|○|○|○|×|×|×|×|
のようにしたいのです
どなたか良いアイデアをお持ちの方よろしくお願いします。

269 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 22:51:01.79 ID:b7Jxtx/j]
普通にソートじゃだめなん?

270 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 22:57:44.20 ID:bHfLv1nY]
安定じゃなくても良いなら
for(;;) {
前から×を探す
後から○を探す
swap
前と後ろが逆転したらbreak
}

271 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 22:58:20.10 ID:EdJd2yN1]
>>269
1フレームで10以上呼ぶつもりなので出来るだけ高速な処理をしたいんです。
値の大小が無いだけで、ソートのようなプログラムになることは理解できるんですが・・・。

272 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 22:58:32.75 ID:BTWHJeh/]
間つめたいだけじゃないの
普通に先頭から見てってつめればいんじゃない

273 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 22:59:05.57 ID:JKxfRh2i]
>>268
std::sort使って、比較関数だけ自前で書く

>>270
std::sortを薦めろや…

274 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 23:01:41.02 ID:BTWHJeh/]
ソートだとO(nlogn)になるじゃん
間つめるだけならO(n)ですむ

275 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 23:03:52.15 ID:N1OcN+jA]
今時ゲームにその程度の高速化必要か?



276 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 23:07:21.91 ID:bHfLv1nY]
そもそもなんでそんなことになるかな
途中の要素を削除するときは末尾の要素とswapしてから削除すれば良いだけだろ

277 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 23:16:25.42 ID:JKxfRh2i]
出てるのに加えて使用可能と不可能で別のスタックでも使えばいいとか、色んな方法が考えられるな

>>274
汎用のブツを使うべきだろ、高速化が必要な風にも見えんし
必要ならその時点で書きなおせばいい

278 名前:名前は開発中のものです。 mailto:sage [2012/11/16(金) 23:19:43.28 ID:EdJd2yN1]
>>272さんの言う通り普通に前から詰めます。ありがとうございました。

279 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 04:14:11.89 ID:Yvb5b4+U]
パフォーマンスを気にしたら、その分ゲームが完成から遠ざかる気がする

「できるだけ速く」ではなく、
「aaの環境でbbくらい時間がかかるが、ccくらいの時間にしたい」
が明確になるまでは、パフォーマンス気にしないほうがいんじゃね

もちろん遅すぎて論外なことをやらない、って前提ありきだけど

280 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 11:37:53.11 ID:aR98lbIK]
昔はSLGを遊ぶ場合、敵の思考モードに入るとそれだけで数分かかったものだよ

281 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 16:54:20.20 ID:WXt99mEx]
数分?

282 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 17:03:31.27 ID:N5wMv0H7]
・・・思考中デス・・・

今じゃパターン総当りでもまったく気にならないからなー
いい時代になったもんだ

283 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 21:31:41.79 ID:lAYofdVH]
処理ごとの時間を測れるライブラリみたいのつくっておけばいいのに。
そうすれば、
遅くなりそうなところが、実際は、別のところがネックだったってのが
わかるし、変に悩まなくてすむ。

284 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 21:33:12.27 ID:N5wMv0H7]
普通に計測プログラム用意したり、処理の途中に時間計測して個別に比較したりするんじゃダメなん

285 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 21:36:26.15 ID:wjcsv03f]
プロファイラぐらい使えよ



286 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 22:50:47.28 ID:4SSSv3ja]
俺のプロファイリングによるとこのスレの住人は10代から20代、もしくは30代から40代、50以上の年齢の男性あるいは女性
プログラミング自体には精通しておらず、文法を覚えている程度の初心者と思われるが、必ずしもそうとは言えない

287 名前:名前は開発中のものです。 mailto:sage [2012/11/17(土) 22:53:57.31 ID:FLG+6H3e]
最近は「素人が○○することは考えにくい」って言うんじゃないのか






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<178KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef