前提と問題
現在シューティングゲームを制作したく勉強しているのですが、下記のタスクの処理関数内にある
0. work->X+=work->VX;
の挙動が理解できなく質問させていただきました。
一応 work->X+=work までならば、構造体のポインタworkから X+=work をしたメンバ X にアクセスすることができる状態にするものだと
理解できるのですが、1.式のメンバVXは何からアクセスされるようになるのでしょうか。
まとまってない文章ですが回答をよろしくお願いいたします。
該当のソースコード
タスクの一部分を抜粋
C++
1// 自機ワークエリア構造体 2struct MACHINE_WORK { 3 float X, Y, VX, VY; 4 //中略 5}; 6// 自機の処理関数 7void Funcmachine(TASK* task) { 8 assert(sizeof(MACHINE_WORK)<=WORK_SIZE); 9 MACHINE_WORK* work=(MACHINE_WORK*)task->Work; 10 work->X+=work->VX; 11 //中略 12}
補足
上記のソースコードは、
汎用ワークエリアへのポインタを、自機ワークエリア構造体へのポインタにキャストした後
自機ワークエリア構造体のメンバ名を使って自機に関する処理をしているソースコードです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。