Autor Tema: L-values y R-values

0 Usuarios y 1 Visitante están viendo este tema.

14 Junio, 2009, 01:31 am
Leído 2346 veces

cristianll

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 236
  • Karma: +0/-0
  • Sexo: Masculino
Hola alguien sabe si existe algún caso en que las Left Values no esten a la izquierda de las Right Values? porque recién estoy aprendiendo lenguajes y no se me ocurre algún ejemplo. Muchas gracias.

14 Junio, 2009, 02:38 am
Respuesta #1

Watt

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 327
  • Karma: +0/-0
  • Sexo: Masculino
  • Dos numeros manejan el mundo?
En que lenguaje?

14 Junio, 2009, 05:57 pm
Respuesta #2

cristianll

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 236
  • Karma: +0/-0
  • Sexo: Masculino
No me especifica ningún lenguaje en especial, pero lo que hemos visto nosotros por ahora es Ansi-C y JavaScript.

14 Junio, 2009, 07:04 pm
Respuesta #3

Watt

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 327
  • Karma: +0/-0
  • Sexo: Masculino
  • Dos numeros manejan el mundo?
Con right and left values te refieres al valor izquierdo y derecho de las variables ?.

14 Junio, 2009, 07:09 pm
Respuesta #4

cristianll

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 236
  • Karma: +0/-0
  • Sexo: Masculino
Si, por ejemplo a= c+d;  con a como lvalue y c+d como rvalue.

14 Junio, 2009, 07:29 pm
Respuesta #5

Watt

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 327
  • Karma: +0/-0
  • Sexo: Masculino
  • Dos numeros manejan el mundo?
Mira, no entendí bien tu ejemplo pero el valor derecho de una variables es su contenido, por ejemplo si vos haces "a=0", el valor derecho de esa variables es "0", pero si vos haces "a=b+c", el valor derecho sera la suma de los valores derechos de "b+c". El valor izquierdo es la dirección de memoria de la variable, la cual es asignada por el sistema operativo. Por ejemplo el valor izquierdo de "a" podría ser "FF00", un numero hexadecimal. Pero si quieres manejar valores izquierdos por lo menos en C necesitas usar un puntero.

14 Junio, 2009, 08:14 pm
Respuesta #6

cristianll

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 236
  • Karma: +0/-0
  • Sexo: Masculino
Si es lo que vos decis, lo complique yo...ah con punteros tenes razón.Muchas gracias.

14 Junio, 2009, 08:15 pm
Respuesta #7

Watt

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 327
  • Karma: +0/-0
  • Sexo: Masculino
  • Dos numeros manejan el mundo?

15 Junio, 2009, 06:14 am
Respuesta #8

cristianll

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 236
  • Karma: +0/-0
  • Sexo: Masculino
Un caso podría ser el siguiente en C++? :

Rvalue(pnt) == Lvalue(x)

*pnt == x;
X = *pnt;    //equivale a: X = x
*pnt = Y;    // equivale a: x = Y

Gracias.

15 Junio, 2009, 07:35 am
Respuesta #9

Watt

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 327
  • Karma: +0/-0
  • Sexo: Masculino
  • Dos numeros manejan el mundo?
La verdad no entendi lo que qusiste hacer, y segundo decidite que lenguaje vas a usar, yo te puedo ayudar con C no mas.

Aca te doy un ejemplo

Código: [Seleccionar]

int a=3;

int *p=&a;          //El operador "&" le pasa el valor izquierdo de "a", osea la direccion de memoria

int c=3+ *p        //Esto dara como resultado que c valga 6, porque el operador "*" accede a lo apuntado y no al puntero.