Entiendo que puede usar la palabra clave en línea o simplemente poner un método en una declaración de clase ala short ctor o un método getter, pero ¿el compilador toma la decisión final sobre cuándo alinear mis métodos?¿El compilador decide cuándo alinear mis funciones (en C++)?
Por ejemplo:
inline void Foo::vLongBar()
{
//several function calls and lines of code
}
¿El compilador de ignorar mi declaración en línea si se piensa que hará que mi código ineficiente?
Como una cuestión secundaria, si tengo un método getter declarado fuera de mi clase como esta:
void Foo::bar() { std::cout << "baz"; }
¿El compilador de línea de este bajo las sábanas?
Ver mi comentario sobre la respuesta de JaredPar, por favor. – jkeys
Las funciones recursivas se pueden insertar en la profundidad especificada :) – AraK
¿Cómo sabe el compilador cuál será la profundidad en tiempo de compilación? –