私は次のものを持っています。構造体はプロトタイプ化されているため、正常にコンパイルされます。
struct vertexNodeInfo
{
vector<vertexNodeInfo> node;
};
私はoctreeのことを書こうとしています。私がやりたいことは、再帰関数を使用して、特定のポイントに到達するまで各ノードにノードを追加し続けることです。その時点で、関数は別のノードを追加するのではなく、リーフを追加します。可能であれば、ノードまたはリーフが追加されていない場合は、メモリを使用したくありません。
この状況ではテンプレートが役立つかもしれませんが、それらの使用方法がわかりません...
自分のことをうまく説明できていないと思います。これが図です:
私が求めていることが不可能なのか、理解するのが難しすぎるのか、それとも単純にばかげているのか、私にはわかりませんが、自分でそれを理解することはできません. うまく説明できなくてすみません。
C++98/03 (VC++2008) を使用していますが、C++11 を使用できません
どんな助けでも大歓迎です。
追加情報:
より良い説明: データの配列の配列の配列の配列が必要です。これにはメモリ使用量が非常に重要です (私は数百万の要素を保存しているので、1 バイトが大きな違いになります)。各配列にはさらに 8 つの配列を含めることができますが、それを使用する必要があるまでは、各配列がメモリを使用しないようにしたいと考えています。それは一種のオクトリーです。
その他の追加情報:
これが別の図です。少し大きいので、右クリックして選択する必要があるかもしれませんOpen image in new tab
。
私が望んでいないのは、すべてのボックスがより多くのノードとリーフ データの両方のためにメモリを予約する「茶色」(赤 + 緑) のボックスです。それは私のニーズに対してあまりにも多くのメモリを使用します。
これは基本的に私が達成しようとしているもので、簡単にするために 2D として描かれています。