C++ – Funções inline

July 3, 2010

É um recurso de otimização de código e desempenho através da declaração das instruções de um método na sua própria declaração (protótipo).

Exemplo:

Supondo que há em uma classe um método que some o valor 10 ao atributo “x” da própria classe a sua declaração convencional no arquivo header (.h) seria:

void somaDez ();

no arquivo .cpp este método seria implementado da seguinte forma:

void Class::somaDez ()

{x += 10;

}

A declaração inline da função consiste em, no próprio arquivo header (.h), declarar a instrução a ser executada pelo método:

Exemplo:

void somaDez() { x += 10;} //declaração inline

Vantagens – por que usar?

Quando funções inline são utilizadas o compilador não desvia a execução do código quando o método é utlizado, ao invés disso o compilador copia as instruções daquela função para o local onde o método é chamado.

Desta forma a execução é sequencial e ganhasse desempenho. Deve ser utilizado para métodos com poucas instruções (de 1 a ~4 linhas) que são utilizados frequentemente pelo programa.

Desvantagens – quando não usar

Não deve ser utilizado para funções com grande número de instruções (mais que ~4 linhas) pois como o código é copiado para o local onde o método é chamado isso deve aumentar o tamanho do executável.

Fonte: http://www.intap.net/~drw/cpp/cpp07_05.htm

Leave a comment

Your comment