Función inline
Se conocen como funciones inline a las funciones que, al compilar, no son llamadas en el código objeto, sino insertadas en la sección del código donde se las llame.
Concepto
Cuando escribimos el nombre de una función en un programa, por así decirlo "llamamos" a dicha función. Por lo tanto, nuestro programa ejecuta la función y sigue la ejecución del código. Esto sucede cuando la función se declara de una manera normal, pero cuando creamos la función y le especificamos que es de tipo inline, lo que sucede dentro de nuestro código es que, al ser compilado, la función se inserta como una copia en el mismo código fuente, en vez de llamar a la función.
Ventajas
Teóricamente se tiene la idea de que las funciones de tipo inline tienen mayor rendimiento frente a las funciones que se usan normalmente, debido a que las primeras evitan usar la pila para pasar parámetros y evitan las instrucciones de salto y retorno.
Desventajas
Debido a que el código se tiene que "copiar" cada vez que se llame a dicha función, el tamaño del ejecutable aumentará conforme el tamaño de la función de tipo inline crezca. Por ello, es recomendable usar este tipo de funciones cuando la función sea de un tamaño medio/pequeño ya que si la función es muy grande requerirá ser copiado en varias ocasiones generando así una posible lentitud en el programa.