Diferença Entre Inline e Macro A diferença entre
Inline vs Macro
C ++ passou muito longe no campo da programação de computadores nos dias de hoje. Sendo uma linguagem poderosa, às vezes é um pouco confuso para os programadores por causa de sua enorme biblioteca de funções. A função Inline é uma delas que pode ser facilmente confundida com macros no idioma.
Não é que haja uma pequena diferença entre os dois, mas eles podem ser um pouco confusos por causa das propriedades que possuem. Neste artigo, estaremos discutindo mais sobre as diferenças entre a função inline e macros em C ++.
Inline
Uma função inline é como qualquer outra função em C ++ e também é chamada de maneira regular. A função que executa é que cria uma cópia da definição da função compilada. Ou seja, cria uma cópia dos itens definidos para compilar. Um exemplo pode ser tomado se estivermos adicionando dois inteiros e chamamos a função inline, o compilador criará uma cópia dos inteiros a serem compilados.
Exemplo:
Inline int sum (int x, int y)
{
Retorno (x + y);
}
Macro
Macros em C ++ implementam a substituição de texto em uma linha de programa. Ou seja, eles substituem o texto de acordo com a mudança definida na função. Ao contrário do inline como uma função, uma macro manipula o código usando uma função. Por exemplo:
#define DOUBLE (X) X * X
int y = 5;
int j = DOUBLE (++ y);
Aqui, obteremos o valor como 30! À medida que a chamada foi feita através de uma macro, "X" foi substituído por ++ y, o que torna ++ y a ser multiplicado por outro ++ y. Isso faz um total de 5 * 6 que é 30 não 6. Seis seria a resposta básica, mas uma resposta errada.
Agora, as macros podem estar causando um bug aqui. Então, uma função inline vem ao resgate, copiando os valores para a memória dos compiladores e compilando-o.
Resumo:
1. Uma função inline cria uma cópia da definição da função.
2. Uma macro substitui o texto como identificado e definido dentro da função.
3. Uma função inline também é aplicada quando uma macro é suposta causar um erro no programa.