Esto es más una curiosidad que otra cosa ...¿Dónde almacena el compilador los métodos para las clases en C++?
Supongamos que tengo una clase de C++ gatito de la siguiente manera:
class Kitty
{
void Meow()
{
//Do stuff
}
}
¿El lugar compilador el código para maullido() en todos los casos de Kitty?
Obviamente, repetir el mismo código en todas partes requiere más memoria. Pero, por otro lado, la bifurcación a una ubicación relativa en la memoria cercana requiere menos instrucciones de ensamblaje que la bifurcación a una ubicación absoluta en la memoria en los procesadores modernos, por lo que es potencialmente más rápido.
Supongo que se trata de un detalle de implementación, por lo que los diferentes compiladores pueden tener un funcionamiento diferente.
Tenga en cuenta que no estoy considerando métodos estáticos o virtuales aquí.
Prepárese para la avalancha de respuestas a una pregunta comúnmente conocida (aunque +1, * es * una buena pregunta :)) .. –
Para aclarar, no estoy interesado en la inclusión. Soy consciente de cómo funciona eso. – Mashmagar