C++ Funções Básico
Funções
Em C++, uma função é um bloco de código nomeado que executa uma tarefa específica. Ela pode receber dados de entrada (parâmetros) e devolver um resultado (valor de retorno). Funções ajudam a organizar o programa, evitar repetição e facilitar a manutenção.
Os parâmetros são as variáveis declaradas na função que recebem os valores passados na chamada. Eles podem ser passados por valor, referência ou ponteiro, dependendo da necessidade. C++ permite sobrecarga de funções: várias funções com o mesmo nome, mas listas de parâmetros diferentes. O compilador escolhe a versão correta com base nos argumentos fornecidos.
Valores padrão permitem que um parâmetro tenha um valor pré-definido caso o argumento correspondente seja omitido na chamada. Já a palavra-chave inline é uma sugestão ao compilador para substituir a chamada da função pelo seu corpo, evitando a sobrecarga de uma chamada de função. Isso é útil para funções pequenas e frequentes, mas o compilador pode ignorar a sugestão.
Neste card, você verá como declarar, definir e usar funções com parâmetros, sobrecarga, valores padrão e inline, tudo com exemplos práticos.
Pontos-chave
- Funções encapsulam código reutilizável e podem receber parâmetros e retornar valores.
- A sobrecarga permite múltiplas funções com o mesmo nome, diferenciadas pela lista de parâmetros.
- Parâmetros com valores padrão tornam argumentos opcionais na chamada.
inlinesugere ao compilador expandir a função no local da chamada, reduzindo overhead.- O compilador escolhe a sobrecarga correta com base nos tipos e quantidade de argumentos.
#include <iostream>
// Função simples com parâmetros por valor
int soma(int a, int b) {
return a + b;
}
// Sobrecarga: mesma função para double
double soma(double a, double b) {
return a + b;
}
// Parâmetro com valor padrão
int potencia(int base, int expoente = 2) {
int resultado = 1;
for (int i = 0; i < expoente; ++i) {
resultado *= base;
}
return resultado;
}
// Função inline para cálculo rápido
inline int dobro(int x) {
return x * 2;
}
int main() {
std::cout << "Soma int: " << soma(3, 4) << '\n';
std::cout << "Soma double: " << soma(2.5, 3.1) << '\n';
std::cout << "Potencia padrao: " << potencia(5) << '\n';
std::cout << "Potencia expoente 3: " << potencia(2, 3) << '\n';
std::cout << "Dobro: " << dobro(7) << '\n';
return 0;
}