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:
#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?
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 ;-)
(int)
Esto es un cast al estilo C. Transforma el siguiente valor a entero.
int(c);
Una sintaxis alternativa.
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.
ve si es que aqui hay maestros jeje... gracias compaeros, por eso me encanta este forito ;D
Cita de: amchacon en 18 Septiembre 2013, 11:50 AM
(int)
Esto es un cast al estilo C. Transforma el siguiente valor a entero.
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. :)