【C++】 DirectX初心者質問スレ Part13 【C】

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2007/09/06(木) 20:22:02
そんなに面倒ならプログラムを組むのをやめるといいよ。
953デフォルトの名無しさん:2007/09/06(木) 20:28:44
面倒だけどやるっつてんだろうが糞ハゲが
役に立たない上にガタガタ騒ぐなボケ
954デフォルトの名無しさん:2007/09/06(木) 21:01:48
っていうか、デバッグバージョンのdllを使えば済む話じゃないか?

コード上で検出したいなら、グローバルなインターフェースはNULLで初期化しておいて
Releaseすると同時にNULLを代入するマクロを使う。
(Releaseの戻り値が0かどうかも確認するといい)
最後に全てのインターフェースがNULLかどうか確認する。
955デフォルトの名無しさん:2007/09/06(木) 21:48:32
最後のLPDIRECT3D9とLPDIRECT3DDEVICE9のリリースで0になっていませんでした
でもどこで忘れているのか見当もつきません;;
956デフォルトの名無しさん:2007/09/06(木) 21:58:25
スマートポインタを始めて聞いたようなレベルの同僚と共同作業する場合
自分がローテクに降りて行くほうが安全確実である。
957デフォルトの名無しさん:2007/09/06(木) 22:15:46
悲しいがそれが現実だな
958デフォルトの名無しさん:2007/09/06(木) 22:49:00
一つずつ切り分けていったら原因箇所がわかり、Releaseの戻り値
すべて0にできました、ありがとうございます
959デフォルトの名無しさん:2007/09/06(木) 23:18:11
そしてAddRef/Releaseの戻り値に依存したコードは書いちゃ駄目と
MS自身が言及している悲しい現実。
960デフォルトの名無しさん:2007/09/06(木) 23:29:13
デバッグ用に確認してるだけであって、
戻り値によって処理を分岐してるわけじゃないんだろ?
まあReleaseの戻り値が期待通りでなくても文句は言えないんだが。

つか>>958
そこまでデバッグする暇あるのなら素直にComPtrで書き直せばいいのに
961デフォルトの名無しさん:2007/09/07(金) 00:05:33
時間かかりそうならスマートポインタに書き換えようと思いましたが
SAFE_RELEASEにログを吐くコードをくっつけて
↓見たいな感じで一つずつやっていったらすぐに特定できたので・・・

プレイヤークラス->Create()
//ステージクラス->Create()
//メニュー表示クラス->Create()
・・・

プレイヤークラス->Destroy()
//ステージクラス->Destroy()
//メニュー表示クラス->Destroy()
・・・
962デフォルトの名無しさん:2007/09/07(金) 00:33:27
>>961
〜を使うではなくてプログラム自体を
そういうことで悩む必要のない構造にできればレベル+1だw
俺はちゃんと組めばスマートポインタの出番なんてないと思ってる
破綻することがわかってるコードをゴリ押しでもってくのがスマートポインタ
963デフォルトの名無しさん:2007/09/07(金) 03:32:18
>>962
最後の一行に激しく同意。
階層設計を構造的にきちんとデザインしないからスマートポインターとかでよろしく処理しようと思ってしまう。
964デフォルトの名無しさん:2007/09/07(金) 04:27:30
こんなふざけた野郎はどうみても釣りだろ。
965デフォルトの名無しさん:2007/09/07(金) 05:13:13
>>963
構造主義一辺倒じゃ片付かない事例なんていくらでもあると思うんだ
966デフォルトの名無しさん:2007/09/07(金) 08:30:24
>>965
多人数で組む時とか?
でも、ここは初心者スレだし。
最初からスマートポインタで対処療法しちゃう癖つけるのも宜しく無いよ。
現実のコードが追いつく/追いつかないは置いておいて、
どっちにしろ構造をデザインするのは悪い事じゃないし。
967デフォルトの名無しさん:2007/09/07(金) 12:59:38
>>965
そういうやっつけ仕事をして日銭を稼いでいるような会社は可愛そうだな。
事例はある事は認めるが、それに甘んじてしょうがなく働くかどうかは本人次第。
俺はとっくにそういったことに見限って10年前からアメリカのソフト会社だから全然違うけどな。
968デフォルトの名無しさん:2007/09/07(金) 13:19:13
誰も聞いていない自分語りを始める奴は、例外なく心の病気にかかっている。
969デフォルトの名無しさん:2007/09/07(金) 14:28:42
>多人数で組む時とか?
いいえ、事案自体の構造的に、構造主義一辺倒の分析で間に合わないケースがあるよ

初心者スレだからこそスマートポインタに対する冷静じゃない見方を植え付けるのは
よくないなあと思ったんだが
970デフォルトの名無しさん:2007/09/07(金) 19:35:47
>>969
DirectXみたいに構造化された対象を扱うケースで?そんなに頻繁に?
設計がおかしいんじゃねーの?
971デフォルトの名無しさん:2007/09/07(金) 19:37:57
構造化・・・
972デフォルトの名無しさん:2007/09/07(金) 23:11:30
スマートポインタをただの開放忘れ防止にしか使ってなきゃいいけど
よくわからなくなったインスタンスの所在を一括廃棄するために使ってるとしたら
普通に危険だ
この先経験を積んでもロクなプログラマにならないだろう・・・
俺はそういう奴を何人も見てきたw
973デフォルトの名無しさん:2007/09/07(金) 23:35:51
俺はそういう奴を何人も見てきたw
974デフォルトの名無しさん:2007/09/07(金) 23:44:12
具体的に何人?
975デフォルトの名無しさん:2007/09/07(金) 23:46:28
大抵は日本人だけど中にはインド人とかもいた
976デフォルトの名無しさん:2007/09/07(金) 23:49:16
廃棄タイミングを制御できない事例について議論しようぜ
オブジェクトを生成した階層と、そのオブジェクトを使う階層が違って、かつオンラインのような長期稼動のケースでは、廃棄タイミングを制御するなんて現実的じゃないと思うんだ
思うだけで深い意味はない、素人だから
977デフォルトの名無しさん:2007/09/07(金) 23:52:13
日本人
978デフォルトの名無しさん:2007/09/08(土) 00:00:31
曰本入
979デフォルトの名無しさん:2007/09/08(土) 00:20:34
日本人(笑)
980デフォルトの名無しさん:2007/09/08(土) 00:36:18
つうか、自動変数でしか管理されて無いオブジェクトってなんなの?
そんなもんがプログラム中に頻繁に発生するの?
981デフォルトの名無しさん:2007/09/08(土) 00:36:51
初心者スレなのになんか難易度の高い基地外が住みついてるなこのスレは
982デフォルトの名無しさん:2007/09/08(土) 02:21:03
質問です。
初心者レベルの問題なのかはよくわかりませんが、
正規化(Normalize)や内積(Dot)・外積(Cross)の使い方がわかりません。
というか、何となく言葉ではわかっているんですが、
それを実際にプログラミングで使用するとなると
一気に?状態になるんです。
ベクトルの長さを1に〜とは言っても「1にしてどうすんの?」
という感じでして・・・
どなたかわかりやすい解説や、わかりやすいサイト等を
知っている方は是非お願いします。
983デフォルトの名無しさん:2007/09/08(土) 04:56:46
他人の解説を聞いても意味はないよ。他人にとって欠かすことができない処理でも
自分の作るプログラムに必要でないことはいくらでもある。
スーパーマリオもドラクエも法線の計算を使ってないだろうしな。
984デフォルトの名無しさん:2007/09/08(土) 05:42:22
>>982
用途が分からないものを今無理して使う必要はない
使うことによってどう役に立つのか理解したいのであれば、DirectXではなくまずは線形代数を勉強しよう

最近はゲーム開発寄りの線形代数入門の書籍も多いみたいだけど、
Webで有名なのはここかね。とっくに閉鎖してるからWebArchiveからだけど
ttp://web.archive.org/web/20020609064207/www.cc.rim.or.jp/~devilman/3dCoding/3dCoding.html
985デフォルトの名無しさん:2007/09/08(土) 06:20:01
>>976
それってつまり管理できてないってことでしょ?
ゲーム系だとみんな俺様設計で組んでるから文句言われないけど
業務系でそういうことやると組み直しになるぜ
生成したインスタンスが管理できてないなんて特に最悪

どうせならどこでも通用するプログラマになりたいよね

それにそもそも
>オブジェクトを生成した階層と、そのオブジェクトを使う階層が違って、
この構造がまずそうじゃねぇか、この仕組みに手を入れないで
スマートポインタに手をだしていいのは締め切り1ヶ月前だけだろw
ほんと広範囲に影響がでるもん触ることになってちょっと怖くて組みなおせないよってときは
いいと思う>スマートポインタ
986デフォルトの名無しさん:2007/09/08(土) 06:59:52
なに興奮してんの
987デフォルトの名無しさん:2007/09/08(土) 07:03:56
>>986
結構重要な分岐点だから
ここでインスタンスの管理をサボるようになると
マジでロクなPGにならない
988デフォルトの名無しさん:2007/09/08(土) 07:16:55
重要なことかもしれんけど初心者スレでインスタンスの管理やら説いても伝わるとは思えんけどなあ
そして伝わってないなら周りから見ればスレ違いのオナニー長文にしか見えないわけで
989デフォルトの名無しさん:2007/09/08(土) 08:28:57
場違いな所での場違いな力説の空回り感と言ったら・・・
990デフォルトの名無しさん:2007/09/08(土) 09:48:17
まあ、ちゃんと管理しなきゃ駄目だよってことが伝わればおk
991デフォルトの名無しさん:2007/09/08(土) 14:55:03
どーせJavaグラマ上がりのスマートポインタマンセーブタが、設計の手抜きに対して
「事案自体の構造的に、構造主義一辺倒の分析で間に合わないケースがある」
とか寝ぼけてんでしょ。
無視が一番。
992デフォルトの名無しさん:2007/09/08(土) 16:10:39
チームが分断していてコントロールできない事例なんていくつもある
さらにチームではなく、外部ベンダとかに分断している可能性だってある
現実的に優秀なPGが一人いるわけじゃなくて、馬鹿なPGが大勢いることの方が多い
下手したら日本人PGはインドや中国のPGより質が悪いかもしれない
じゃあ現実的にどうしようか、って考えたらリソースリークが避けられるスマートポインタは一つの方法としてあると思う
(生成したもの全てをスマートポインタにしろといってるわけじゃない)
他には遅延フェッチの実装を助けるとか、リソース管理とか参照回数の計測をしなきゃいけないときとか、純粋にコーディング世界での有用性もあるし
要は使いどころだと思うよ
993デフォルトの名無しさん:2007/09/08(土) 16:20:30
だったら、まず必要なのは「スマートポインタで逃げる事」じゃなくって、
多人数でも正常に動作する構造設計と品質管理システム。
リークのあるリソースの追跡なんてプロファイラでやる事。
最後の行も、スマートポインタと全然関係無い。
普通にスマートポインタ使わない環境でもやってる事ばっかり。

「要は使いどころ」なのは同意だが、「困ったらスマートポインタ」なんてやってたら
バカPGが大勢生産される環境になるだけ。
994デフォルトの名無しさん:2007/09/08(土) 17:13:40
お前らみんなスレタイを見ろ。
995デフォルトの名無しさん:2007/09/08(土) 18:31:49
>>993
それ、良い事じゃないか
996デフォルトの名無しさん:2007/09/08(土) 18:53:38
>他には遅延フェッチの実装を助けるとか、リソース管理とか参照回数の
まさにスマートポインタの使いどころだと思うけど
997デフォルトの名無しさん:2007/09/08(土) 19:06:48
設計でつまずくたびにスマートポインタでスマートに逃げる・・・
逃亡プログラマだなw
998デフォルトの名無しさん:2007/09/08(土) 19:43:08
体育会系プログラミングってやつか
999デフォルトの名無しさん:2007/09/08(土) 21:46:16
糞スレ埋め
1000デフォルトの名無しさん:2007/09/08(土) 21:47:50
でもそんなの関係ねぇ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。