単純なパーティクルシステムを構築していて、構造体の単一の配列バッファを使用してパーティクルを管理したいと考えています。とはいえ、任意のバッファーからmalloc()とfree()を実行できるC関数が見つかりません。これが私の意図を示すためのいくつかの擬似コードです:
Particle* particles = (Particle*) malloc( sizeof(Particle) * numParticles );
Particle* firstParticle = <buffer_alloc>( particles );
initialize_particle( firstParticle );
// ... Some more stuff
if (firstParticle->life < 0)
<buffer_free>( firstParticle );
// @ program's end
free(particles);
ここ<buffer_alloc>
で、および<buffer_free>
は、任意のポインタからメモリチャンクを割り当てて解放する関数です(おそらく、バッファ長などの追加のメタデータを使用します)。そのような機能は存在しますか、および/またはこれを行うためのより良い方法はありますか?ありがとうございました!