elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  "foo(bar = baz)" vs "bar = baz; foo(bar)"
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: "foo(bar = baz)" vs "bar = baz; foo(bar)"  (Leído 1,375 veces)
4dr14n31t0r

Desconectado Desconectado

Mensajes: 85



Ver Perfil
"foo(bar = baz)" vs "bar = baz; foo(bar)"
« en: 19 Octubre 2016, 12:36 pm »

Cuando yo veo algo como
Código
  1. foo(bar = baz)
lo que me imagino que ocurre es que se lee el contenido del registro de baz y se guarda en la pila para luego acceder al registro de la variable bar y pasarle el valor que se guardó en la pila, y despues sin eliminar el valor de la pila se le pasa tambien al parametro de la funcion foo, por lo que es mas eficiente (aunque muy poco, pero mas eficiente) que si hago algo como esto:
Código
  1. bar = baz;
  2. foo(bar);
Ya que, en este caso, copio y pego el valor del registro en la pila 2 veces.

Asi es como me lo imagino, pero en realidad no tengo ni idea de como funciona. ¿Me equivoco?

¿Y si hiciera esto?
Código
  1. a = b = c;
¿Pasaria algo parecido?


En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: "foo(bar = baz)" vs "bar = baz; foo(bar)"
« Respuesta #1 en: 19 Octubre 2016, 15:40 pm »

El manejo de la pila es dependiente del compilador, así que no hay una respuesta general


En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines