kanixe Posted November 13, 2009 at 11:17 AM Report Share #295953 Posted November 13, 2009 at 11:17 AM Não sendo muito experiente na matéria, até agora sempre utilizei o operador referência quando queria dar uma atribuição a um ponteiro, colocando o operador antes da variável, para assim obter o seu endereço: p ponteiro: p= &a Depareime com a seguinte situação: Classe& MyClass::operator = (const Classe &x)) {...} Ao realizar um overload de operadores numa classe. A questão é que não faz sentido para mim por o operador referencia numa declaração. Fazia sim por um ponteiro, e depois enviar a variavel co ma referencia para o argumento. Podem-me explicar melhor esta situação? O que aocntece? a variável x ficará com o mesmo endereço da colocado no argumento? É um caso particular? Obrigado. Link to comment Share on other sites More sharing options...
merlin3000 Posted November 13, 2009 at 12:26 PM Report Share #295963 Posted November 13, 2009 at 12:26 PM O que acontece é que X passa a ser um "alias" para a variável que enviares. Sempre que te referes a X estás na realidade a trabalhar na variável enviada para a função. Basicamente passas a ter 2 nomes para a mesma coisa. Torna-se mais simples trabalhar com argumentos assim do que com apontadores. Este é um funcionamento muito similar ao funcionamento por defeito de java ou C#. Criar é Divertido Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now