1
resposta

Operador de referencia &

#chuta.cpp
#include <iostream>
#include "letra_existe.hpp"
#include "chuta.hpp"

void chuta(std::map<char, bool> & chutou, std::vector<char> & chutes_errados, std::string & palavra_secreta){
    std::cout << "Seu chute: ";
    char chute;
    std::cin >> chute;

    chutou[chute] = true;

    if(letra_existe(chute, palavra_secreta)){
        std::cout << "Você acertou! Seu chute está na palavra." << std::endl;
    }
    else{
        std::cout << "Você errou! Seu chute não está na palavra." << std::endl;
        chutes_errados.push_back(chute);
    }
    std::cout << std::endl;
}
#chuta.hpp
#pragma once
#include <map>
#include <vector>
#include <string>

void chuta(std::map<char, bool> & chutou, std::vector<char> & chutes_errados,std::string & palavra_secreta);
#chamada em forca.cpp
        chuta(chutou, chutes_errados, palavra_secreta);

Desse forma, a legibilidade e escrita fica bem melhor.

1 resposta

Oi Samuel,

Excelente observação sobre o uso do operador & para referências em C++! 👍

Você está correto ao afirmar que o uso de referências (&) melhora a legibilidade e a escrita do código, especialmente quando se trata de passar variáveis para funções que precisam modificá-las.

No seu exemplo, ao passar chutou, chutes_errados e palavra_secreta como referências, você evita a cópia desnecessária desses objetos, o que torna o código mais eficiente e claro. 💪

Para saber mais: Referência (C++) - Este link da documentação da Microsoft explica detalhadamente o conceito de referências em C++, incluindo sua sintaxe e uso.

Continue explorando e aprofundando seus conhecimentos! 🤔