Los que se implementan dentro de la clase se convierten en métodos inline. Cada vez que el compilador encuentra uno no hace una llamada a ese método, sino que copia todo el código en ese lugar.
Por tanto los métodos inline se usan para hacer pequeños trabajos muy repetidos ya que no hay que perder tiempo llamándolos. Nótese que si el método inline es grande el código final va a crecer mucho, además por lo que es coste de tiempo en llamarlo al del tamaño del código objeto, a lo mejor, no compensa.
El implementarlo fuera sigue la filosofía de separar la declaración de la definición. Así la declaración va en un archivo de cabecera que puede pasarse al archivo de código que sea necesario. Mjentras tanto tienes por otra parte las definiciones en un código objeto que el enlazador te va a unir en último momento.
Esto te da la ventaja de reducir el tiempo de compilación porque sólo debes compilar el archivo que se ha cambiado y no todo el código.
Por cierto, no resucites hilos antiguos. Estaría mejot si iniciaras uno nuevo para la cuestión.
Por tanto los métodos inline se usan para hacer pequeños trabajos muy repetidos ya que no hay que perder tiempo llamándolos. Nótese que si el método inline es grande el código final va a crecer mucho, además por lo que es coste de tiempo en llamarlo al del tamaño del código objeto, a lo mejor, no compensa.
El implementarlo fuera sigue la filosofía de separar la declaración de la definición. Así la declaración va en un archivo de cabecera que puede pasarse al archivo de código que sea necesario. Mjentras tanto tienes por otra parte las definiciones en un código objeto que el enlazador te va a unir en último momento.
Esto te da la ventaja de reducir el tiempo de compilación porque sólo debes compilar el archivo que se ha cambiado y no todo el código.
Por cierto, no resucites hilos antiguos. Estaría mejot si iniciaras uno nuevo para la cuestión.