Carregando
0x30Lição 4 de 9

Construa funções e passe por referência

Dê um nome ao trabalho, devolva resultados e evite cópias desnecessárias.

16 min Questionário com 5 perguntas 1 exercício de código
Ao final desta lição, você saberá
  • Declarar funções e diferenciar parâmetros por valor, por referência e por referência const.

As funções empacotam um comportamento reutilizável atrás de um nome e de uma lista de parâmetros. Uma função pode devolver um valor ou usar void quando não devolve nada. Passar um argumento por valor faz uma cópia; passar por referência com & permite que a função se refira ao objeto de quem chamou. Acrescente const a uma referência quando a função deve ler sem modificar. Uma referência const é eficiente para entradas grandes, enquanto um inteiro pequeno costuma ser claro e barato por valor.

main.cpp · C++20
1#include <iostream>
2#include <string>
3
4void greet(const std::string& name) {
5    std::cout << "Hello, " << name << "!\n";
6}
7
8int main() {
9    greet("Ada");
10}
Saída
Hello, Ada!

A declaração precisa estar visível antes de uma chamada, seja por meio de uma declaração anterior da função, seja por uma definição colocada antes. Em C++ moderno, prefira referências e tipos da biblioteca padrão a parâmetros com ponteiros manuais quando não for preciso um comportamento anulável ou reapontável.

Principais conclusões

  • As funções tornam o comportamento reutilizável e nomeável.

  • Use referências para evitar cópias ou para modificar de propósito o estado de quem chamou.

  • Use referências const para entradas grandes só de leitura.

Quiz da aula

5 perguntas · aprovação com 4 acertos · até 50 XP

Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.

Pratique: escreva código em C++

Escreva C++20 no editor e execute com entradas de exemplo. O GCC 14 compila o código pelo Compiler Explorer, um serviço público gratuito; seu código-fonte e a entrada de teste são enviados para lá.

Exercício 1

Escreva uma função reutilizável de quadrado

+25 XP

Implemente square para que devolva a entrada multiplicada por ela mesma. Leia um inteiro e imprima o resultado.

  • Quadrado de 4
  • Quadrado de -3
main.c
Carregando editor…

Seu código é compilado como C++20 com gcc 14 (-Wall -Wextra) e executado no Compiler Explorer (godbolt.org), um serviço público gratuito.

Dúvidas sobre esta lição

Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.

Carregando publicações…