Junior — Middle
Como distinguir os tipos de dados por valor e por referência e em que se diferenciam na programação?
sobes.tech IA
Resposta da IA
Os tipos de dados por valor e por referência diferem na forma como são armazenados e transmitidos num programa.
- Tipos por valor (value types) são copiados ao atribuir ou passar. Cada variável contém a sua própria cópia independente dos dados.
- Tipos por referência (reference types) copiam a referência ao mesmo objeto na memória ao atribuir ou passar. As alterações através de uma referência são visíveis através de outras.
Por exemplo, em Swift:
var a = 5
var b = a // copia o valor 5
b = 10
print(a) // 5, pois a e b são independentes
class Person {
var name: String
init(name: String) { self.name = name }
}
var p1 = Person(name: "Иван")
var p2 = p1 // copia a referência
p2.name = "Пётр"
print(p1.name) // "Пётр", pois p1 e p2 referenciam o mesmo objeto
Assim, compreender a diferença é importante para a gestão de memória e a previsibilidade do comportamento do programa.