Windows Embedded Compact 7 で使用するプログラムを C++ で作成しています。埋め込みコードを作成するときは、配列を動的に割り当てない方がよいと聞いています。0 から 50 個のオブジェクトを追跡するので、最初に 50 個のオブジェクトを割り当てます。
Object objectList[50];
int activeObjectIndex[50];
static const int INVALID_INDEX = -1;
int activeObjectCount=0;
activeObjectCount は実際に使用しているオブジェクトの数を示し、activeObjectIndex は使用しているオブジェクトを示します。0 番目、7 番目、および 10 番目のオブジェクトが使用されていた場合、
さまざまなオブジェクトがアクティブまたは非アクティブになるときに、activeObjectIndex リストを順序付けたままにしたいと思いますactiveObjectIndex = [0,7,10,-1,-1,-1,...,-1];
。activeObjectCount=3;
現在、値が変更される可能性のある各ループの最後で、activeObjectIndex を並べ替えているだけです。
まず、組み込みシステムでオブジェクト (アクティブであるかどうかに関係なく) を追跡する方法として、私が行っているよりも良い方法はありますか? そうでない場合、アクティブなオブジェクトを追加または削除するたびにオブジェクトを並べ替えるために使用できるアルゴリズムはありますか? それとも、定期的にバブルソートなどを行って、それらを整理する必要がありますか?