Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Felipefm

Construtor de cópia e entre outras coisas

Recommended Posts

Olá.

 

1º Eu não sei a finalidade de um construtor de cópias, alguém pode me falar para que serve?

 

2º Gostaria de saber o que é rvalue e lvalue.

 

3º Também desejo saber o que o *this e o this fazem.

 

 

Agradeço desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites

As primeira e terceira perguntas referem-se a C++. A segunda, pelo menos a C (não sei se C++ define lvalue e rvalue). Está perguntando estritamente sobre C++ ou sobre ambas?

 

De fato construtor de cópia é de C++, já que esta relacionado a objetos, eu até já sei como funciona porém não sei a sua finalidade.

 

O que eu sei de lvalue e rvalue posso estar equivocado mas eu vou falar, eu sei que lvalue se trata de uma variável comum que pode ser atribuida, já o rvalue seria uma váriavel const.

 

*this e this acredito que é exclusivo de C++. Se não me engano o *this retorna valor de um objeto ou objetos instanciado(s) de de forma encadeada e o this retorna o endereço do ojeto ou objetos instanciado(s).

Compartilhar este post


Link para o post
Compartilhar em outros sites

C define 'objeto': 'uma região contígua de memória'. Você pode ler um pouco mais sobre objetos aqui. Um lvalue é um nome ou expressão que designam um objeto. Sendo assim, se p é um ponteiro cujo valor é o endereço de um objeto, *p e *(p + 1) são dois lvalues diferentes. C define 'modifiable lvalues', que são aqueles que designam objetos que possuem tipos completos, não são arrays, cujas variáveis não foram declaradas com o qualificador 'const' e, caso sejam tipos agregados, não possuam membros declarados com 'const'. Um 'rvalue' é definido como 'o valor de uma expressão'.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.