![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
|
Hola a todos,
Ya se que esta no es la clase de pegunta que solemos hacer, aca viene. Cuando defino un estructura en C++ (remarco que C++, por no es igual en C), por ejemplo, un punto definido por sus coordenadas x y y: Código:
struct Point {
float x;
float y;
};
Código:
Point P; P.x = 10.3; P.y = 3.5; Código:
typedef struct {
float x;
float y;
} Point;
Pero, en el primer caso estoy creando la variable, llamando al nombre de la estrcutura y en el segundo llamandolo por un "etiqueta" que le puse a la misma estructura. Existe alguna diferencia cuando se crea la varaible?. Son exactamente iguales? Si son iguales, cual es la ventaja de usar el typedef? Gracias Crandel pd: es importante tener los conceptos claros
__________________
[Crandel] |
|
#2
|
||||
|
||||
|
Holas! soy nuevo en el foro, pero voy a tratar de ayudar en lo que pueda
![]() Si declarás la estructura asi: Código:
struct Point{
float x, y;
};
Código:
struct Point punto; Código:
Point punto; Código:
typedef struct Point Point; En resumen, es conveniente declarar la estructura y la variable como se hace en C, para mayor compatibilidad (a no ser, claro, que se usen clases o cosas propias de C++), aunque la nueva forma de C++ es más coherente... No hay diferencia en cuanto a una declaración u otra, son exactamente lo mismo para C++, pero en C no compila la segunda alternativa... |
|
#3
|
||||
|
||||
|
Hola Edgar, muchas gracias por la respuesta, en C lo tenia claro, pero la pregunta iva destinada especificamente a C++ que no estaba seguro como lo trataba.
Gracias Crandel
__________________
[Crandel] |
![]() |
|
|
|