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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  i++ e ++i
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: i++ e ++i  (Leído 2,049 veces)
FKT

Desconectado Desconectado

Mensajes: 221



Ver Perfil
i++ e ++i
« en: 11 Agosto 2015, 13:57 pm »

Buenas, en mi libro de Hacking Técnicas fundamentales dice que  i++ e ++i  son iguales, vamos que es cuestión de gusto, pero informandome más sobre esto he leído que no es lo mismo, si es así necesitaria saber la diferencia.


En línea

Solo hay 10 tipos de personas, las que saben binario y las que no.
kub0x
Enlightenment Seeker
Colaborador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: i++ e ++i
« Respuesta #1 en: 11 Agosto 2015, 14:02 pm »

Por ejemplo:

Código
  1. int i = 0;
  2. std::cout << Array[i++] << std::endl;

Imprime el primer elemento (Array[0]) y después incrementa 'i'.

Código
  1. int i = 0;
  2. std::cout << Array[++i] << std::endl;

Incrementa 'i' e imprime el segundo elemento (Array[1]).

Vamos que ++i incrementa primero y ejecuta la instrucción subyacente e i++ ejecuta la instrucción subyacente y después incrementa 'i'.

Saludos.


En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

FKT

Desconectado Desconectado

Mensajes: 221



Ver Perfil
Re: i++ e ++i
« Respuesta #2 en: 11 Agosto 2015, 18:17 pm »

No lo entiendo, lo siento esque yo uso c jeje
Puedes explicarmelo con libreria <stdio.h> plis??
 :rolleyes:
En línea

Solo hay 10 tipos de personas, las que saben binario y las que no.
DarK_FirefoX


Desconectado Desconectado

Mensajes: 1.263


Be the change you wanna see in te world


Ver Perfil
Re: i++ e ++i
« Respuesta #3 en: 11 Agosto 2015, 18:35 pm »

Veamos:

En C esta el operador ++ para añadirle 1 al operando. El mismo puede ser utilizado como un operador de prefijo, o sea, antes de la variable:

Código
  1. ++i;

O como operador de posfijo, después de la variable:

Código
  1. i++;

En ambos casos el objetivo es incrementar la variable i. Pero la si utilizas la operación prefija, el valor de la variable se incrementa ANTES de que su valor se utilice, mientras que en la operación posfija, la variable se incrementa DESPUÉS de que el valor de la variable sea utilizado:

Por ejemplo: si n tiene el valor 5 y haces:

Código
  1. int x = n++;

A la variable x se le asignará el valor 5 y luego n tendrá el valor 6.

Mientras que si haces:

Código
  1. int x = ++n;

Se le incrementará el valor a n en 1 (n va a ser igual a 6) y luego ese valor se le asignará a x, por lo tanto x obtendrá el valor 6.

Espero te haya quedado claro ahora.

Salu2s
En línea

FKT

Desconectado Desconectado

Mensajes: 221



Ver Perfil
Re: i++ e ++i
« Respuesta #4 en: 11 Agosto 2015, 22:11 pm »

Pues me has aclarado la duda super bien, pero un ejemplo de algun caso que se utilice ell sufijo ??

Salu2 y gracias. ;D
En línea

Solo hay 10 tipos de personas, las que saben binario y las que no.
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: i++ e ++i
« Respuesta #5 en: 11 Agosto 2015, 22:17 pm »

Código
  1. int length = 0;
  2. char c[] = "Asd";
  3. while(c[length++]);
  4. // Ahora, length es la longitud de la cadena

Por ejemplo. Pero en cualquier caso, si no ves dónde usarlo, tal vez sea porque no hay lugar para usarlo. Ya surgirá la ocasión donde digas "aquí, aquí lo necesito" xD

Pero bueno. El postincremento y postdecremento no suelen ser "necesarios". Suelen ser más bien para ahorrarte una o dos lineas.
En línea

FKT

Desconectado Desconectado

Mensajes: 221



Ver Perfil
Re: i++ e ++i
« Respuesta #6 en: 11 Agosto 2015, 23:21 pm »


Por ejemplo. Pero en cualquier caso, si no ves dónde usarlo, tal vez sea porque no hay lugar para usarlo. Ya surgirá la ocasión donde digas "aquí, aquí lo necesito" xD

Pero bueno. El postincremento y postdecremento no suelen ser "necesarios". Suelen ser más bien para ahorrarte una o dos lineas.

Eso es lo que queria oír haha, muchas gracias a todos y veo que ivancea96 estas muy presente así que muchas gracias también.
« Última modificación: 11 Agosto 2015, 23:33 pm por FKT » En línea

Solo hay 10 tipos de personas, las que saben binario y las que no.
Páginas: [1] Ir Arriba Respuesta Imprimir 

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