Pergunta  
 
Rede de conhecimento computador >> Pergunta >> Converta arquivos >> Content
Enviar por cópia e enviar referência?
Na programação orientada a objetos, "passagem por cópia" e "passagem por referência" referem-se a diferentes formas de passar argumentos para funções ou métodos. No entanto, a terminologia varia dependendo do idioma e do contexto.

Passar por cópia:

- Argumentos passados ​​como cópias: Na passagem por cópia, uma cópia do argumento real é criada e passada para a função. Qualquer modificação feita nesta cópia dentro da função não afeta a variável original fora da função.
- Tipos de valor: A passagem por cópia é comumente usada com tipos de valor, que são tipos de dados que contêm seu valor diretamente. Por exemplo, em C++ ou Java, int, double, boolean, etc. são tipos de valor.

Passar por referência:

- Argumentos como referências: Na passagem por referência, uma referência ao argumento real é passada para a função. Quaisquer alterações feitas no argumento dentro da função são refletidas diretamente na variável original fora da função.
- Tipos de referência: A passagem por referência é frequentemente usada com tipos de referência, que são tipos de dados que contêm uma referência a um local de memória onde os dados reais são armazenados. Por exemplo, em C++ e Java, objetos (instâncias de classes) são tipos de referência.

Em algumas linguagens, o comportamento pode ser controlado explicitamente usando palavras-chave como "passagem por referência" ou "&" (para parâmetros de referência) e "passagem por valor" ou "*" (para parâmetros de valor).

Por exemplo, em C++:

```cpp
void increment(int value) { // passa por valor
valor++; //modifica a cópia
}

void incrementRef(int &value) { // passa por referência
valor++; //modifica a variável original
}

int principal() {
interno x =5; //tipo de valor
incremento(x); // x permanece 5
incrementRef(x); // x se torna 6
}
```

Em Java:

```java
public void increment(int value) { // passa por valor
valor++; //modifica a cópia
}

public void incrementRef(int &value) { // passa por referência
valor++; //modifica a variável original
}

public static void main(String[] args) {
interno x =5; // tipo de valor primitivo
incremento(x); // x permanece 5
incrementRef(x); // x se torna 6
}
```

Em Python, os argumentos são sempre passados ​​por referência. No entanto, Python usa um mecanismo de contagem de referências para gerenciar o tempo de vida do objeto, e você pode criar cópias independentes da contagem de referências do objeto original.

Compreender a passagem por cópia e a passagem por referência ajuda a gerenciar a memória de forma eficiente, evitando modificações indesejadas e garantindo o comportamento adequado de funções/métodos que operam em argumentos.

Anterior :

Próximo :
  Os artigos relacionados
·Como converter um arquivo de áudio de WAV para CDA 
·Como você converte um mp3 para o YouTube? 
·Como converter WMV para MOV para Grátis 
·Como converter os formatos de vídeo para iPod Formato …
·Como usar o VLC para converter arquivos FLV 
·Como converter um arquivo de DCF para um MP3 
·Como converter MP4 para MP3 no Mac OS X 
·Como converter M4P para MP3 com Lame 
·Como converter arquivos ASF para MP3 no Mac 
·Como converter MPC para WAV 
  Artigos em destaque
·Como recuperar mensagens de texto excluídas permanente…
·Como remover e reparar registro Pro 
·Como corrigir o erro Msxml3.dll 
·Como configurar lembretes recorrentes no Microsoft Team…
·Como alterar o JARVIS de voz do Google Assistant 
·Como remover jucheck.exe 
·Por que Internet Connections falha 
·Como corrigir erros IEEE 1394 
·Como ligar a Wii à sua TV Samsung 
·Como remover mirar De Windows ME 
Cop e direita © Rede de conhecimento computador http://ptcomputador.com Todos os Direitos Reservados