Как уже упоминалось в hotpaw2, если вам нужно оптимизировать, вы, возможно, можете сделать это, только выделяя, если вам нужно больше места, например:
particleCount = [particles count];
if (particleCount > allocatedParticleCount) {
if (vertices) {
free(vertices);
}
if (textures) {
free(textures);
}
vertices = malloc(sizeof(point3D) * 4 * particleCount);
textures = malloc(sizeof(point2D) * 4 * particleCount);
allocatedParticleCount = particleCount;
}
... инициализируя allocParticleCount в 0 при создании экземпляра вашего объекта.
PS Не забудьте освободить ваши объекты, когда ваш объект уничтожен.Рассмотрите возможность использования файла .mm и используйте C ++ / Boost's shared_array как для вершин, так и для текстур.Тогда вам также не потребуются вышеуказанные бесплатные заявления.