タスクシステム総合スレ part3
レス数が900を超えています。1000を超えると表示できなくなるよ。
0922名前は開発中のものです。
2009/01/31(土) 23:59:28ID:9d5EHsE6良かったのかい?
まあ、それはいいとして、ひょっとしたら、ID:8N26Dxd2 は、
static std::map<TaskHandle,Task*> taskHandleToPtr;
static Task* TaskHandleToPtr(TaskHandle h)
{
return taskHandleToPtr[h];
}
こういうソースを想定して、taskHandleToPtrがglobal変数で
この変数を経由してTaskHandleとTask*が結びついているから
enemy1がglobal変数だと主張しているのかも知れないが、
よほどのド素人でもない限り、上のような馬鹿なソースは書かない。
実際は、
> EnemyTask* enemyTask1 = TaskHandleToPtr<EnemyTask>(enemy1);
このように実装できるように書くなら、Task基底クラスに
TaskHandleToPtrメソッドを持たせてTask派生クラスの初期化のときに、
HashTable (>>869) のポインタを渡す。
だから「実質グローバル変数」ではない。
レス数が900を超えています。1000を超えると表示できなくなるよ。