[Duda] ¿Existe alguna diferencia entre int(example); y (int) example;?

Iniciado por Zodiak98, 18 Septiembre 2013, 07:13 AM

0 Miembros y 2 Visitantes están viendo este tema.

Zodiak98

Bueno es que siempre he utilizado el método de molde: " int(example) ; " y pues recién acabo de ver un código así: " (int) example; " Y pues supuse que hacía lo mismo que el primero, hice la prueba y así fue:
Código (cpp) [Seleccionar]

#include <iostream>

using namespace std;

int main()
{
     //Entre:
     double a = 13.456;
     double b = (int) a;

     cout << b << endl;

     //Y esto:

     double c = 13.456;
     double d = int(c);

     cout << d << endl;

     system("pause>nul");

     return 0;
}


No hubo diferencia en ese simple ejemplo. Mi pregunta es: Hacen exactamente lo mismo? O existe alguna diferencia?

vangodp

cuando pones c dentro de int() "int (c)" estas convertiendo c a enteros.
En el otro caso ni idea jeje




cosa es que compila sin erroes OO que alguien nos explique eso jaja.
En la programacion cuando encierras algo entra () le estas dando prioridad a resolver lo encerrado pero esto es que es una paradoja estomacal jaja.

A esperar que vea uno de los veteranos jeje  ;-)

amchacon

(int)

Esto es un cast al estilo C. Transforma el siguiente valor a entero.

Código (cpp) [Seleccionar]
int(c);

Una sintaxis alternativa.
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

eferion

En la práctica, y para lo que importa, no hay diferencias.

Te puedes encontrar con problemas a la hora de utilizar "tipos compuestos" (long long por ejemplo ) al usar el cast funcional ( el segundo tipo ).


long long dato = long long(variable); // error


En cualquier caso, si estás trabajando en c++ evita este tipo de cast y céntrate en los cast propios de c++, son más seguros y limpios.

vangodp

ve si es que aqui hay maestros jeje... gracias compaeros, por eso me encanta este forito ;D

Zodiak98

Cita de: amchacon en 18 Septiembre 2013, 11:50 AM
(int)

Esto es un cast al estilo C. Transforma el siguiente valor a entero.

Código (cpp) [Seleccionar]
int(c);

Una sintaxis alternativa.

Hehehe me paso por la cabeza también que a lo mejor uno formaba parte de la sintaxis de C y el otro de C++. Pero :d Gracias! Más vale estar seguros. :)