Funções embutidas C ++

C ++ inlinefunção é um conceito poderoso comumente usado com classes. Se uma função for embutida, o compilador coloca uma cópia do código dessa função em cada ponto onde a função é chamada em tempo de compilação.

Qualquer alteração em uma função embutida pode exigir que todos os clientes da função sejam recompilados porque o compilador precisaria substituir todo o código novamente, caso contrário, ele continuará com a funcionalidade antiga.

Para incorporar uma função, coloque a palavra-chave inlineantes do nome da função e defina a função antes que qualquer chamada seja feita para a função. O compilador pode ignorar o qualificador embutido caso a função definida seja mais do que uma linha.

Uma definição de função em uma definição de classe é uma definição de função embutida, mesmo sem o uso do inline especificador.

A seguir está um exemplo, que usa a função embutida para retornar no máximo dois números -

#include <iostream>
 
using namespace std;

inline int Max(int x, int y) {
   return (x > y)? x : y;
}

// Main function for the program
int main() {
   cout << "Max (20,10): " << Max(20,10) << endl;
   cout << "Max (0,200): " << Max(0,200) << endl;
   cout << "Max (100,1010): " << Max(100,1010) << endl;
   
   return 0;
}

Quando o código acima é compilado e executado, ele produz o seguinte resultado -

Max (20,10): 20
Max (0,200): 200
Max (100,1010): 1010