quinta-feira, 4 de outubro de 2012

Funções inline em C++

O que são funções inline e para que servem.

Quando declaramos uma função como inline o compilador troca a chamada dessa função pelo código  atual da própria. Temos aqui um ganho de tempo já que chamadas de função demoram mais do que escrever todo o código da mesma. Apesar do ganho de tempo temos um aumento no tamanho do programa.

Como declarar e utilizar uma função inline.

Para declarar uma função como sendo inline basta somente acrescentar a palavra chave inline na declaração da mesma. Utilizamos uma função inline da mesma forma que utilizamos uma função normal. Segue abaixo um exemplo.

#include <iostream>

using namespace std;

inline void hello_inline();

int main() {
    hello_inline();

    return 0;
}

inline void hello_inline() {
    cout << "Hello inline!!" << endl;
}

Funções inline são muito boas para economizar, porém, não devemos utilizar as mesmas de qualquer forma, somente funções pequenas e que são utilizadas constantemente devem ser declaradas como inline. É importante observar que essa conversão não é garantida pois o compilador pode decidir não tratar uma função inline como tal.