Например, у меня есть следующая функция рисования в некоторых приложениях OpenGL:
void Terrain::Draw(float ox, float oy, float oz) {
float terrainWidth = stepWidth * (width - 1.0f);
float terrainLength = stepLength * (length - 1.0f);
float startWidth = (terrainWidth / 2.0f) - terrainWidth;
float startLength = (terrainLength / 2.0f) - terrainLength;
(...)
}
Terrain
- это класс, и я уверен, что переменные экземпляра шага и ширины / длины ландшафта никогда не изменятся в течение времени жизни объекта (они инициализируются до первого вызова функции рисования).
Если предположить, что мое приложение работает с постоянной скоростью 25 кадров в секунду, функция будет вызываться 25 раз в секунду. Значения никогда не изменятся, они всегда будут одинаковыми.
Получу ли я что-нибудь, объявив эти переменные функции статическими? Чтобы предотвратить их уничтожение и объявление каждый раз при вызове функции?