Uma função em linha3.2 é uma função cujo código é inserido no código do usuário. Conceitualmente, tais funções são equivalentes às macros em ANSI-C, e elas podem melhorar desempenho ao evitar a carga extra associada com a chamada de uma função. Na prática, funções em linha são melhores que macros pois evitam os famigerados erros de expansão: com funções em linha, cada argumento é avaliado apenas uma vez -- da mesma forma que ocorre com funções normais. Outra vantagem da função em linha é que ela permite a verificação dos tipos de argumentos, algo que é impossível com macros.
Há duas formas básicas de se definir funções em linha:
Um cuidado que deve ser tomado é evitar a definição de um número excessivo de funções em linha, o que pode ter um efeito negativo no desempenho da aplicação, principalmente em ambientes com paginação (a maior parte dos processadores modernos). Um número exato não pode ser especificado, pois isto depende de cada configuração.