Me preguntaba si hay ventajas de usar una función de miembro estático cuando hay un equivalente no estático. ¿Tendrá como resultado una ejecución más rápida (debido a que no debe preocuparse por todas las variables miembro), o quizás un menor uso de la memoria (debido a que no se incluye en todas las instancias)?¿Ventajas de utilizar una función miembro estática en lugar de una función miembro no estático equivalente?
Básicamente, la función que estoy viendo es una función de utilidad para rotar una matriz entera que representa colores de píxeles un número arbitrario de grados alrededor de un punto central arbitrario. Se coloca en mi clase base Bullet abstracta, ya que solo las viñetas la usarán y no quería que se lo llamara en alguna clase de utilidad. Es un poco largo y se usa en todas las clases de viñetas derivadas, por lo que probablemente no sea una buena idea alinear. ¿Cómo sugeriría que defina esta función? Como una función miembro estática de Bullet, de una función de miembro no estático de Bullet, o tal vez no como miembro de Bullet pero definido fuera de la clase en Bullet.h? ¿Cuales son las ventajas y desventajas de cada uno?
Sí, no estoy muy seguro de cómo funciona C++. Vengo de un fondo Flash y ActionScript tiene gastos generales horribles en los lugares más extraños: las funciones estáticas en las clases de utilidad se resuelven en tiempo de ejecución, así que como Math.sin cada vez que se usa el jugador tiene que buscar la clase Math a través de la tabla hash y luego buscar el función de pecadoMe alegra oír que C++ al menos tiene más sentido común ... – jonathanasdf
@Zan: las funciones miembro estáticas no tienen un puntero 'this'. –
De hecho, tienes razón. Leí la línea a la que respondía, ya que "No hay absolutamente ninguna diferencia de rendimiento entre las funciones de miembro y las funciones gratuitas". que no es realmente lo que dice. Mi error. –