DXライブラリ 総合スレッド その12
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2012/02/23(木) 21:35:32.53ID:Si08WDH/ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
【公式】
http://homepage2.nifty.com/natupaji/DxLib/
【過去スレ】
DXライブラリ 総合スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
DXライブラリ 総合スレッド その3
http://pc11.2ch.net/test/read.cgi/gamedev/1238429676/
DXライブラリ 総合スレッド その4
http://pc11.2ch.net/test/read.cgi/gamedev/1249822550/
DXライブラリ 総合スレッド その5
http://pc11.2ch.net/test/read.cgi/gamedev/1259912953/
DXライブラリ 総合スレッド その6
http://hibari.2ch.net/test/read.cgi/gamedev/1267108154/
DXライブラリ 総合スレッド その7
http://hibari.2ch.net/test/read.cgi/gamedev/1286180687/
DXライブラリ 総合スレッド その8
http://hibari.2ch.net/test/read.cgi/gamedev/1301818631/
DXライブラリ 総合スレッド その9
http://hibari.2ch.net/test/read.cgi/gamedev/1310904069/
DXライブラリ 総合スレッド その10
http://hibari.2ch.net/test/read.cgi/gamedev/1313655495/
DXライブラリ 総合スレッド その11
http://toro.2ch.net/test/read.cgi/gamedev/1322844235/
0602名前は開発中のものです。
2012/05/10(木) 06:18:14.97ID:vzflkD1Hゲームプログラマーデビューしたと聞いた
0603名前は開発中のものです。
2012/05/10(木) 06:35:35.77ID:UZbNhvsp昔はネットも普及してなかったけどそういう夢はあった時代だねえ
0604名前は開発中のものです。
2012/05/10(木) 07:38:40.06ID:8vGyKgxt0605名前は開発中のものです。
2012/05/10(木) 10:05:38.16ID:tesXth+b0606名前は開発中のものです。
2012/05/10(木) 12:09:07.74ID:ZDbcr+Isそんなに重い?
想定するPCで処理落ちしない程度に抑えるのは当然として、仕様を諦めるほどのものか?
マウスカーソルの方に向きが変わるエフェクトだって毎フレーム角度を取らなきゃ出来ないだろうし、そういう表現を全部諦めなきゃいけないほど今のPCって遅い?
私も実際そういうの作ったけど、重いと言われた事はないなぁ。もっと重くなりそうな処理はたんまりあったのに。
0607名前は開発中のものです。
2012/05/10(木) 12:16:27.13ID:tfJkmKLP0608名前は開発中のものです。
2012/05/10(木) 12:34:52.15ID:4XOda0N/つーか使わなきゃ3Dゲーム作れないよ・・・
0609名前は開発中のものです。
2012/05/10(木) 13:22:25.06ID:v9pLXRdM同じ計算何度もさせるのに、いちいちsin cos 再計算させるとか無駄だし。
0610名前は開発中のものです。
2012/05/10(木) 15:04:57.12ID:kc9Z57zY0611名前は開発中のものです。
2012/05/10(木) 15:11:34.69ID:tfJkmKLP0612名前は開発中のものです。
2012/05/10(木) 15:21:30.43ID:VHianwBM0613名前は開発中のものです。
2012/05/10(木) 15:23:18.02ID:v9pLXRdMCPU性能が上がったからテーブル使わなくていいじゃん、て理屈なら
メモリ増えたからテーブル大きくしてもいいじゃん、って手もあるし。
0614名前は開発中のものです。
2012/05/10(木) 16:45:22.46ID:dVfrJx5F0615名前は開発中のものです。
2012/05/10(木) 16:58:49.22ID:dtfgAWXR0616名前は開発中のものです。
2012/05/10(木) 18:55:39.93ID:v9pLXRdMテーブル処理させるようにしたら、スピードは変わらなかったがCPUファンが急に静かになった。
また、随分前に別のスレで同様の議論が起こった時、サンプルコード作って実測値を求め、
コードとその結果を晒すと、今までなんだかんだと言ってた連中は黙り込んだ。
つまり比較検討すらせずに論じてたわけだ。
よって俺は、PC性能が向上したからテーブル処理は不要という説は机上の空論だと思ってる。
0617名前は開発中のものです。
2012/05/10(木) 19:02:46.00ID:sVBnl2Jo特に誰もそれを不要とか言ってないからね
俺もちゃんと的確な場所で使えば今でも十分通じる最適化の手法だと思っております
0618名前は開発中のものです。
2012/05/10(木) 20:11:40.30ID:ZR8vamBu俺は浮動小数点数使ってるんでテーブル化の恩恵とかいまいちピンとこない
グラフィックの処理限界が先に来るんでCPUの処理速度に無頓着なのもあるんだろうけど
0619名前は開発中のものです。
2012/05/10(木) 20:51:13.05ID:mUHUEJ/50620名前は開発中のものです。
2012/05/10(木) 21:35:16.35ID:2KkjXKar0621名前は開発中のものです。
2012/05/10(木) 21:41:39.79ID:dtfgAWXRcore2とかなら更に数倍計算できるだろうし
0622名前は開発中のものです。
2012/05/10(木) 21:52:54.52ID:e/HoFmGV2日目 visual c++をインストール
3日目 Dxlibraryのサンプルプログラムを観賞
4日目 リファレンスを見て関数勉強
5日目 リファレンスサイトを探す
6日目 you tubeを見て作品観賞
7日目 ニコニコ動画を見て作品観賞
8日目 Dxlibraryの普及度をネットで調べる
こんな感じで一向にゲーム作る気になりませんでした^o^
やる気はあるんだよ?
バイトしてるほうがマシだなでもww
0623名前は開発中のものです。
2012/05/10(木) 21:56:57.00ID:8OIpRinMわざわざsinテーブルなんて作るよりベタ書きでいいじゃんって話でしょ。
毎秒何フレーム描画したいかにもよるけど、どんな酷い書き方しても今のCPUなら最低でも60fpsは出るぞ。
そもそもcore2なんて化石だしなあ。
三千円出してSandyのCeleronでも買えばいい。
0624名前は開発中のものです。
2012/05/10(木) 22:01:40.33ID:8OIpRinMお前みたいなやつに限ってやる気はあるってのが口癖だったりするんだよな。
自分でもう一度眺めてみろよ。
既にdxlibをインストールしてるのに、後から普及率を調べたり
リファレンスがあるのに、別のリファレンスサイトを探したり、
今までいろいろなゲームを見たことがあるはずなのに、今さらゲーム作品を鑑賞している。
全部プログラムを書くことからの逃げでしかないだろ。
1時間程度でvc++インストールしてdxlib入れて、リファレンスとにらめっこしながら書きはじめない時点でやる気が無いのと同じ。
0625名前は開発中のものです。
2012/05/10(木) 22:01:42.65ID:K6/fMJqa1/60sec.内に必ず処理が終わるようにしなければならない、っていう決めのもとで、
newとdeleteなど動的なメモリ確保する処理がこわくて使えない
具体的にはSTLのmapがこわくて使えない
低確率であろうとも負荷が集中して1/60secを超えるリスクがもしあるのなら、と思って使ってない
そんなことがあるのか、よくわからないんだけど
で、全インスタンスを予め確保して使ってる
アクションゲーならあらかじめ敵最大1000匹とか決めておいて、インスタンス1000個を配列で確保して、
で1個1個に生死フラグをもたせてる
0626名前は開発中のものです。
2012/05/10(木) 22:07:23.83ID:feNuwH83自分弾幕やらないからよく分からないのだけど
解像度800x600 で 8x8の小さなドット敷き詰めても 7500発にしかならないと思うんだ
一体どんなゲーム(計算方法が分かっているならツール?)なんだろ
0627名前は開発中のものです。
2012/05/10(木) 22:08:02.47ID:e/HoFmGV石橋を叩いて渡るタイプだから俺はw
0628名前は開発中のものです。
2012/05/10(木) 22:12:18.01ID:e/HoFmGV回転座標とか行列とか、三角関数とか嫌にならないのかね。
0629名前は開発中のものです。
2012/05/10(木) 22:15:05.37ID:dtfgAWXRあくまで昔作ってたゲームでどこまで弾が出せるかの計測の結果だから、実際のゲームでそんなに出したわけじゃないよ
なので、普通にゲーム作る分には三角関数は最適化しなくても余裕はあまりまくるって意味
>>627
やらない奴のテンプレすぎるw
0630名前は開発中のものです。
2012/05/10(木) 22:15:53.49ID:e/HoFmGV0631名前は開発中のものです。
2012/05/10(木) 22:17:05.95ID:dtfgAWXRゲーム制作に活かせることなら興味モリモリだろ普通
0632名前は開発中のものです。
2012/05/10(木) 22:39:01.08ID:yUL5kazs渡ってないだろw
0633名前は開発中のものです。
2012/05/10(木) 23:03:40.82ID:um7ucooq0634名前は開発中のものです。
2012/05/11(金) 00:12:18.56ID:7pB6w4/u0635名前は開発中のものです。
2012/05/11(金) 00:16:59.89ID:IxDfbQFzオブジェクトの宣言てどこですればいいの。もうexternは使わんと決めたお…
0636名前は開発中のものです。
2012/05/11(金) 00:19:27.34ID:GbmOtmCHexternが一個で済むようになるならいいじゃん
0637名前は開発中のものです。
2012/05/11(金) 00:46:06.52ID:IxDfbQFz散らかってた変数や関数を複数のクラスにまとめたってこと。そして素人の俺はクラスの数だけexternすることに。
もっとゲーム設計に適したやり方はないの?とお前さんらに泣きついた次第
0638名前は開発中のものです。
2012/05/11(金) 00:53:39.42ID:N2bOf4fYクラスにまとめるくらいなら、ネームスペースで囲っとけ
0639名前は開発中のものです。
2012/05/11(金) 01:04:26.09ID:IxDfbQFzクラスは便利って聞いたから慣れようとしたんだけどね。いろいろ試してみる
0640名前は開発中のものです。
2012/05/11(金) 02:39:58.68ID:bSxE0QNK後はメンバのアクセス権とかを設定すればなんとなくC++っぽいプログラムになる
0641名前は開発中のものです。
2012/05/11(金) 02:51:15.70ID:B2rtNnmhポインタの引数渡しだとかシングルトンとかでポインタ返したりするので間に合うし
#pragma once等で多重インクルード防止してるよね?
0642名前は開発中のものです。
2012/05/11(金) 08:33:33.00ID:ZM042uCS0643名前は開発中のものです。
2012/05/11(金) 10:30:32.73ID:3e5VHKooゲーム総括クラスを一つwinmainで
メッセージループ入る前やWM_CREATEで生成、終了時破棄ってのが普通じゃないか?
ってかDXライブラリ関係ないな。クラス設計スレあったと思うよ。
0644名前は開発中のものです。
2012/05/11(金) 10:45:55.87ID:vcjHam5B毎フレームmapに自前でnewはあんまやらないと思う
別コンテナにすでにインスタンス確保してあるなら、
そのポインタかスマートポインタを入れたらいんじゃね
0645名前は開発中のものです。
2012/05/11(金) 17:14:52.22ID:ROU9gqxB透明メッセージ枠やりたかったけどSetDrawBlendModeが必須なのか…
0646名前は開発中のものです。
2012/05/11(金) 18:12:28.51ID:dJRyU0/j0647名前は開発中のものです。
2012/05/11(金) 18:21:46.43ID:ZalIzh5v0648名前は開発中のものです。
2012/05/11(金) 19:17:48.33ID:3dGi95mh0649名前は開発中のものです。
2012/05/11(金) 22:34:22.76ID:4SsxSVutttp://www.geocities.jp/y_u_n_o_a/distribution/chapter1-2.html
ゲームを制作したらここへ
0650名前は開発中のものです。
2012/05/11(金) 23:02:20.93ID:y/guoP930651名前は開発中のものです。
2012/05/11(金) 23:46:30.66ID:o/+Gc2jH0652名前は開発中のものです。
2012/05/12(土) 00:05:05.70ID:c1qmluZzありがとう
STLのmapでのinsert/eraseでsecondをポインタにするのなら、
ほとんどnewとかdelete発生しない
(か発生してもサイズが小さいから、負荷が集中しても1/60sec超えるほどにはならない)
ってことか
mapが内部的に保持している要素数をオーバーしたときに再配置が生じるくらいかな…
先に大量に配置してからclearしておけばいいのかな
1/60secに常に収まることが必要な敵オブジェクトやタスクの管理にもmapは使えそうな気がしてきた
必要に応じてvector/set/multimapあたりになるのかもしれんけど
0653名前は開発中のものです。
2012/05/12(土) 00:12:48.35ID:nwxeejjachar Sound = BGM1; みたいにやってるんだけどどうも美味くいかない
文字はcharだと思ってたんだが
0654名前は開発中のものです。
2012/05/12(土) 01:06:33.81ID:nwxeejja--main.cpp-----------------------------------------------
int BGM001 = LoadSoundMem( "BGM/音声.mp3" );
int BGMVol = 255; //BGM音量
int SEVol = 255; //SE音量
char SoundSet,SoundVol = BGM001 , 255;
void Sound_On();
--Sound.cpp----------------------------------------------
char SoundSet = 0;
int SoundVol = 0;
void Sound_On(){
ChangeVolumeSoundMem( SoundVol, SoundSet );
}
--------------------------------------------------------
こんな感じで指定するだけで流すBGMとその音量を楽に変えられるようにしたいんだけど
文字列が使えないとなるとここからどうすればいいんだろう全く分からない
0655名前は開発中のものです。
2012/05/12(土) 01:14:46.09ID:Sk4hsssu勉強するのが嫌ならchar[]とかstringで検索
0656名前は開発中のものです。
2012/05/12(土) 10:20:02.82ID:oiw6jIIK0657名前は開発中のものです。
2012/05/12(土) 11:08:26.00ID:4PAPvi2Jツリーマップとかハッシュマップがしたいんじゃないか?
0658名前は開発中のものです。
2012/05/12(土) 11:33:22.89ID:pM6R2rdgchar*やchar[]となにが違うんだ
0659名前は開発中のものです。
2012/05/12(土) 11:44:07.77ID:pM6R2rdgkurasu hoge[] = new kurasu[i]
0660名前は開発中のものです。
2012/05/12(土) 11:44:13.65ID:7ZI1drDU0661名前は開発中のものです。
2012/05/12(土) 11:46:31.53ID:7ZI1drDUvector使っとけ
0662名前は開発中のものです。
2012/05/12(土) 13:15:24.26ID:Y7LnpGkk色々とダメすぎ。
char型にint型を代入しようとしているし、
char SoundSet,SoundVol = BGM001 , 255;
こんな代入ってできたっけか?
少なくとも、このコードで文字列を使うようなところはないぞ。
LoadSoundMem()の引数で使うのなら別だけど。
最低でも、配列ぐらいは勉強しようぜ
0663名前は開発中のものです。
2012/05/12(土) 13:20:23.81ID:scKJS9wa"BGM/音声.mp3"以外に文字列使ってるところないと思うけど
あとcharは+-127で 255いれるならアンサインドしないといけない。
SoundVol = BGM00はキャストしないといけないけど
int型のハンドルからcharにいれるとおかしくなる
0664名前は開発中のものです。
2012/05/12(土) 13:33:12.14ID:e6ix4ssiunsignedとも決まってないが
0665名前は開発中のものです。
2012/05/12(土) 14:03:15.85ID:Cm45Qp6Q釣乙と思って調べてみたらマジで処理系依存だった。
今まで何も意識してなかったんだぜ。
0666654
2012/05/12(土) 14:28:24.06ID:6R8HK7WJcharもstringも使わずに出来ました、レスくれた人ありがとう
0667名前は開発中のものです。
2012/05/12(土) 16:54:50.46ID:MLybp27S0668名前は開発中のものです。
2012/05/12(土) 17:17:40.32ID:aTzzNn3r使い心地はc用と比較してどう?
0669名前は開発中のものです。
2012/05/12(土) 17:49:08.27ID:bBRavtqR処理系依存なのでVCは0を返す
BCCならエラーになるかも
GCCは0だったかな?
0670名前は開発中のものです。
2012/05/12(土) 18:04:49.21ID:e6ix4ssiC99対応処理系の場合、設定次第で例外を生成する
0671名前は開発中のものです。
2012/05/12(土) 18:47:25.96ID:dhHNv3dR構造体名が全部大文字だったり
C#ならenumを使うようなところが全部const静的メンバだったり
C#を使い込んでいる人ほど使いにくいと感じるかもしれない
個人的な感想をいうと
「どうしてもC#で使いたい人向けにとりあえず用意しました」
という感じが強い
使い心地という観点では、正直あまり良くない
まぁ、もともとCやC++用のライブラリだから仕方ないんだけどね
0672名前は開発中のものです。
2012/05/12(土) 19:15:17.60ID:qdtYJdCq演算に利用するような定数でもなければ、型で縛っといてくれた方が安全だし
0673名前は開発中のものです。
2012/05/12(土) 22:25:31.97ID:0khMsYy70674名前は開発中のものです。
2012/05/12(土) 22:35:13.58ID:vkMbVikOそのついでにC#らしからぬ所を隠してしまえばいい。
0675名前は開発中のものです。
2012/05/12(土) 23:07:24.89ID:zvVDUBCv再配置ってvectorなんかで起こるメモリの再割り当て?
↑ならmapでは特に気にしなくていんじゃないかな
0676名前は開発中のものです。
2012/05/13(日) 00:34:39.15ID:a5SCC/eyO型のやつは大雑把だから細かいプログラミングは絶対不向きだな。
0677名前は開発中のものです。
2012/05/13(日) 00:59:03.31ID:2yoWSG9U0678名前は開発中のものです。
2012/05/13(日) 01:59:31.47ID:SIc+R5jEそうなん?
例えば10個の、敵その他オブジェクトへのポインタをmapにinsert/eraseをしてて、
場面によってオブジェクトが1000個に増えるようなときって、
mapが持ってるメモリ上の領域って10個分から1000個分に拡張されるんじゃないかなとか思う
でそのときに再配置というか、追加割り当てが発生するんじゃないかなとか
まぁその規模の処理で1/60秒食われるわけもないから、気にする必要もないのか…
0679名前は開発中のものです。
2012/05/13(日) 02:18:54.50ID:oOXluPnN0680名前は開発中のものです。
2012/05/13(日) 02:30:01.68ID:ClwAHpRU0681名前は開発中のものです。
2012/05/13(日) 05:10:58.13ID:lpryfgyO最初にリザーブしとけばいいんじゃね?
0682591
2012/05/13(日) 08:53:27.43ID:8OrJeLU+DXライブラリをビルドして試してみました。
>>399 さんの推測で当たりのようです。
DxGraphics2.cppの4134〜4168行をコメントアウトして
GRH.FrameTime=16;
にしたら動きました。(16という値は1000(ms)/60(fps)=16.666...ですよね多分)
上の行番号はDXライブラリ3.05での値で3.07だと変わっていると思うので、
// 1フレームの時間を取得しておく
のコメントの部分を探して、そこを同様に変更すればとりあえず回避できると思います。
ログ出力を埋め込んで見たところ、当該処理の中で呼び出している
GetRasterStatus()×4のうち、2番目のfor(;;)ループ
(// VBlank が終わるのを待つ)が無限ループしてるようです。
回避策は分かったけど、正しい修正方法までは分かりませんでした。
当該処理の中で呼び出しているGetRasterStatus()がおかしな値を返して
来ている?ようですが、原因まで調べるだけの知識・スキルは有りませんでした。
公式サイトの掲示板の方にも報告しようと思いますが、VirtualBox固有の問題
だと思うので、作者さんのところに環境が無いと調べて対策するのは難しいでしょうね...
0683名前は開発中のものです。
2012/05/13(日) 09:01:44.64ID:9MSRAsYcじゃあジャンケンのプログラムを余計なとこは省いてレス行以内で書けるか?
0684名前は開発中のものです。
2012/05/13(日) 09:21:17.97ID:NHkyJdx+#include <stdio.h>
#include <time.h>
void shoubu(int a, int b) {
char* hand[] = {"グー", "チョキ", "パー"};
printf("あなた:%s vs 相手:%s\n", hand[a], hand[b]);
if (a == b)
printf("あいこだった\n");
else if ((a+1)%3 == b)
printf("あなたの勝ち!\n");
else
printf("相手の勝ち!\n");
}
void main() {
unsigned int a;
srand(time(0));
printf("あなたの手は?(0=グー, 1=チョキ, 2=パー):");
scanf("%d", &a);
shoubu(a%3, rand()%3);
}
0685名前は開発中のものです。
2012/05/13(日) 09:29:20.51ID:EZnOWHsv0686名前は開発中のものです。
2012/05/13(日) 09:30:56.65ID:oOXluPnN0687名前は開発中のものです。
2012/05/13(日) 09:52:50.74ID:w1fS3w9l0688名前は開発中のものです。
2012/05/13(日) 09:58:44.99ID:AAmzPGEoありがとう
公式に機械的にc#用に変換したとあったね
おとなしくxna使うわ
0689679
2012/05/13(日) 10:02:11.55ID:oOXluPnNint WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ){
if( DxLib_Init() < 0 ) return -1;
int game=0,zibun=-1,aite=0,hantei=0,temp=0;//ゲームの状態・自分・相手・判定・勝敗チェック用の
char* hand[] = {"グー", "チョキ", "パー"};//パクった グー=0 チョキ=1 パー=2
char* win[] = {"勝ちました", "負けました", "あいこでした"};
SRand(GetNowCount()); SetDrawScreen( DX_SCREEN_BACK ) ;
while( ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0 ){
switch(game){
case 0://初期化
aite=GetRand(2); game=1;
break;
case 1://入力待ち
DrawString(0,0,"グー=Z チョキ=X パー=C 選んでからスペースキーでバトル",GetColor(255,255,255)) ;
if(zibun!=-1)DrawFormatString(0,32,GetColor(255,255,255),"現在の選択は「%s」",hand[zibun]) ;
if(CheckHitKey(KEY_INPUT_Z))zibun=0;
if(CheckHitKey(KEY_INPUT_X))zibun=1;
if(CheckHitKey(KEY_INPUT_C))zibun=2;
if(zibun!=-1 && CheckHitKey(KEY_INPUT_SPACE))game=2;
break;
case 2://判定
DrawFormatString(0,0,GetColor(255,255,255),"自分の手は「%s」、相手の手は「%s」",hand[zibun],hand[aite]) ;
if(zibun==aite)hantei=2; else{
temp=zibun;if(temp==2)temp=-1;if((temp+1)==aite)hantei=0;else hantei=1;}
if(zibun!=-1)DrawFormatString(0,32,GetColor(255,255,255),"%s。エンターキーで再戦、ESCで終了",win[hantei]) ;
if(CheckHitKey(KEY_INPUT_RETURN))game=0;
break;
};
ScreenFlip(); ClearDrawScreen();
}
DxLib_End(); return 0;
}
0690名前は開発中のものです。
2012/05/13(日) 10:06:18.59ID:oOXluPnN0691名前は開発中のものです。
2012/05/13(日) 10:07:06.00ID:W1RKjCLb>>685
全角スペース消せ
0692名前は開発中のものです。
2012/05/13(日) 10:09:01.24ID:Ls9MBT4q0693名前は開発中のものです。
2012/05/13(日) 10:18:47.38ID:oOXluPnN0694名前は開発中のものです。
2012/05/13(日) 10:27:17.86ID:pjQ/YiEQいいね
0695名前は開発中のものです。
2012/05/13(日) 11:18:22.18ID:SIc+R5jEreserveはvector系にはあるけど、map系にはないみたい
>>652のやりかた(最初にたくさん確保してからclear)をすればいいのかもしれない
0696名前は開発中のものです。
2012/05/13(日) 12:16:43.99ID:8C9TJ7oh0697名前は開発中のものです。
2012/05/13(日) 12:17:22.35ID:2jBPxDkl再配置ってのが
push_backしまくってvectorが確保したメモリ超えたときに起こる
メモリの再確保&要素全コピー&古い領域解放のことだと思って
mapじゃ起こらないから気にしなくていんじゃねって思ってレスした
vectorは>>681に同意でreserveとセットだと思ってる
0698名前は開発中のものです。
2012/05/13(日) 12:38:55.03ID:SIc+R5jEたしかに、その話ではないね。
言いたかったのは、
・mapの実装が、要素間をポインタでリンクしてるものだとする。
・mapに要素を追加した場合は、
既存の要素が持っているポインタ値が、新要素へのリンクを示す値になる
だから…
あっごめん再配置の問題ないわー
0699名前は開発中のものです。
2012/05/13(日) 17:18:26.44ID:JYF+zVYV要素でアクセスする必要ないならlistのが良いし
ソート不要ならunordered_maptも考慮してもいい
0700名前は開発中のものです。
2012/05/13(日) 18:37:46.05ID:SIc+R5jEありがとう
例えば敵オブジェクトを1000要素の配列に入れて、存在フラグtrue/falseで管理し、
存在フラグtrueのものだけ処理を行う、という用途で、
要素検索によるランダムアクセスしないなら、
listが向いてるって感じか
用途に応じて選ぶ際の参考になるわ
0701名前は開発中のものです。
2012/05/13(日) 18:38:44.99ID:pSj6hJ1Wポインタ <T*> を使うのがいいんだな
javaやってて気付いた
0702名前は開発中のものです。
2012/05/13(日) 22:06:28.55ID:4FieMYmt■ このスレッドは過去ログ倉庫に格納されています