12/06/21 23:08:09.09 Vc98TddL
>>262
C++11はちゃんと調べて無いんだが、あれって型推論的なものと聞いたが
C++でダックタイプってのもどうなのよってのはあるが
264:名前は開発中のものです。
12/06/21 23:09:04.98 NB/uR81n
std::vactor<T>とかテンプレートクラスに
typedef使うのは常套テクニックだな。
代わりに継承を使う場合もあるかもしれんが。
265:名前は開発中のものです。
12/06/21 23:15:27.20 HvQGDDgW
俺も詳しく見てないけど
使う感覚にしちゃテンプレートとかポインタと指して変わらんと思う
便利なら使うってのでいいんじゃね
さっきの例で使うならiteratoのところ宣言する面倒無くなるし
266:名前は開発中のものです。
12/06/21 23:25:16.97 Vc98TddL
>>265
あぁそうか… コンパイラがポインタの先のテーブル見に行って推論みたいな、そんな感じなのかな
その意味で言うと、イテレータに限らないが、なんでも省略可能になっちゃったりするんだろうか
Perlみたいな… って想像したくないんだが。
>>264
テクニックって言うか、単純に見づらくなるからってのと、
あとコンパイル時解決と実行時解決の使い分け次第じゃね
他だと、関数ポインタを引数に取るコールバックだとか、それに類する所で boost::function とか
まして boost::function なんて、マルチスレッドコード書くときお世話になりまくる。
関数のシグネチャを毎回書くのは保守性の観点からもアレだから、やっぱりこの辺も typedefするのが普通。
無かったら C++ 辛いになってしまう。
267:名前は開発中のものです。
12/06/21 23:41:52.16 Vc98TddL
あとあれだ、DirectX絡みでいうと、DXLibの範疇だと用がないかもしれないが、
頂点バッファにカスタムFVFで頂点定義する時、定数渡して定義固定化したバッファのクラスや構造体作るときに、
テンプレート化してさらにtypedefして使ったりする。俺の場合だけど
268:名前は開発中のものです。
12/06/21 23:52:31.07 PJsHcyOi
>>224
>リソースのハンドルがint型。型システムの恩恵をわざわざ捨ててる。
ハンドルより、定数が全部int型で定義されてる方が気になるなあ。
例えば、SetDrawBlendMode() の第一引数とか列挙型で定義しといて欲しい。
269:名前は開発中のものです。
12/06/21 23:56:46.30 MRBLh9lt
ハンドルとか別にintでもなんでもいいんだけどさぁ、
せめてモードとかタイプとかの指定にはenumを使って欲しい
非公開の関数だとヘッダ見ても何を指定すればいいのかわからない時があるんだよなぁ…
270:名前は開発中のものです。
12/06/22 00:08:54.64 iI1PSMpU
>>261
……あ、毎度書いてた
271:名前は開発中のものです。
12/06/22 00:40:34.47 vVJJHNCt
ハンドルがtypedefだと間違った変数渡しても勝手に変換されるから意味ないでしょ
structにしとくとコンパイル時にエラー出るから便利だよ
272:名前は開発中のものです。
12/06/22 01:04:31.28 qZxxS3ym
関数に変数を指定してPlaySoundMemで使いたいんですが、これをどうすればいいでしょうか?
具体的には、se_play関数の引数に変数名を入れて他から指定番号のSEを呼び出せるようにしたいのです
void se_play(char se_number){
PlaySoundMem(se_number,DX_PLAYTYPE_BACK);
}
273:名前は開発中のものです。
12/06/22 04:14:09.11 /rEqvofv
vc++2008でDXライブラリ使ってたらインターネットブラウザがすごく重くなったんですが
これがメモリリークというやつですか?
LoadGraph関数のリファレンス読んだんですがサンプルではfree()関数で開放はしていません。
自動的に開放されるというわけではないんですか?
274:名前は開発中のものです。
12/06/22 04:16:48.36 vVJJHNCt
自動的に開放はされない
DxLib_End呼んで終了するかDeleteGraph使わないと開放されない
275:名前は開発中のものです。
12/06/22 07:02:09.99 uPLkt+w2
まだやってたのか
自分を客観的に見れない馬鹿はどうしようもないな
276:名前は開発中のものです。
12/06/22 13:03:14.63 l51oT9C4
DrawGraphとかPlaySoundMemってポインタ使えないの?
277:名前は開発中のものです。
12/06/22 13:06:54.58 uPLkt+w2
どういうことだろう
ポインタから実体の値を呼び出すには*hogeとすればいいけど
278:名前は開発中のものです。
12/06/22 14:33:18.57 l51oT9C4
使えるのかありがと
279:名前は開発中のものです。
12/06/22 14:33:31.71 EOlR9Clb
ハンドルのポインタだな。
int sound1, sound2;
int *pHandle = &sound1;
se_play(*pHandle);
でも >>272 の引数はcharなんだよね。
たぶんツリーでハンドルのこといいたいんだろう。
std::map< std::string , int > tree;
void se_play(char* name){
std::string key = name;
int handle = tree[key];
}
280:272
12/06/22 15:09:59.09 l51oT9C4
>>279
そんなやり方があるんですか、どうも!
DXライブラリを更に省略したくて作ってたんです
281:名前は開発中のものです。
12/06/22 15:10:55.86 l51oT9C4
初めてip被った…
282:名前は開発中のものです。
12/06/22 15:37:10.00 rmxXQg9H
DxLibModelViewerでメタセコのモデル読み込んだらテクスチャが真っ白になっちゃうんだけど解決法ない?
前に一回だけちゃんと表示されたけど条件が分からん…これじゃMV1が使えない
一応ファイルの場所はあってるんだけど
283:名前は開発中のものです。
12/06/22 16:08:23.44 9VY+vhBh
>>282
パスに空白や日本語とか
よくあるそれ系の話とか