Мне было интересно, есть ли какие-либо преимущества в использовании статической функции-члена, когда есть нестатический эквивалент. Приведет ли это к более быстрому выполнению (из-за того, что не нужно заботиться обо всех переменных-членах) или, может быть, к меньшему использованию памяти (из-за того, что он не включен во все экземпляры)?
По сути, функция, которую я рассматриваю, представляет собой вспомогательную функцию для поворота целочисленного массива, представляющего цвета пикселей, на произвольное число градусов вокруг произвольной центральной точки. Он помещен в мой абстрактный базовый класс Bullet, так как его будут использовать только пули, и мне не нужны накладные расходы на его вызов в каком-то служебном классе. Он слишком длинный и используется в каждом производном классе маркеров, что делает его, вероятно, не очень хорошей идеей для встраивания. Как бы вы предложили мне определить эту функцию? В качестве статической функции-члена Bullet, нестатической функции-члена Bullet или, может быть, не в качестве члена Bullet, но определенной вне класса в Bullet.h? Каковы преимущества и недостатки каждого из них?