Pesquisar aqui

sexta-feira, 24 de janeiro de 2020

C++ - Funções - Manipulação da variável na função


Talvez não tenham percebido, mas a variável "parâmetro" da função é temporária e apenas válida dentro da função.
Se passarmos uma variável existente como argumento para uma função, e nessa função houver manipulação da variável de alguma forma, não é essa variável que muda. Na verdade, a variável da função é uma cópia da variável que passamos.
Para fazer isto temos de usar pointers, mais especificamente endereços da variável (passar por referência), mas isso já é o seu próprio tema, que falarei no futuro.

Programa exemplo

#include <iostream>
using namespace std;

void function(int variable){
    variable += 6;
}

int main(){
    int variable = 5;
    function(variable);
    cout << variable << endl;
}

  • O inteiro variable de function é uma cópia do inteiro variable de main.
  • Têm o mesmo nome só mesmo para vos mostrar que são variáveis diferentes, terem o mesmo nome ou não é indiferente.
  • variable de function torna-se 5 + 6, que é 11.
  • variable de main continua igual.
Então o output será
5


Referências

Sem comentários:

Enviar um comentário

Comente de forma construtiva...

Nota: só um membro deste blogue pode publicar um comentário.