Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ivancea96

#1701
Java / Re: mejorar juego
20 Octubre 2015, 08:38 AM
Estoy en contra de abstracciones tipo "patrones de diseño", asi que no te puedo ayudar en este campo xD
#1702
Código (cpp) [Seleccionar]
while(lista != NULL)
Cuando salga del bucle, "lista" va a ser igual a NULL.

Lo que tienes que puedes hacer, es guardar un puntero al comienzo de la lista al principio.
#1703
Tienes un puntero a función, y le asignas al puntero, la dirección de la función en hex.
El cast, no es  más que un cast a función.
#1704
Como digo, leer 3 MB no es nada. Lo más lento es la lectura del archivo, para lo cual debes usar un array.
En difinitiva, buena parte de las opciones han sido dadas. Ahora elige la más eficiente para el uso que le vas a dar.
#1705
El límite de vector depende, pero suele llegar a la giga. 3 MB es poco.
¿Quemar la CPU por llenar un vector de 3 MB? ._.
No infravalores una computadora xD

De todos modos, tienes varias formas de llenarlo. Lo mejor es que no empieces elemento a elemento. Primero, puedes usar vector::reserve para reservar la memoria inicial que requieras (evidentemente tener que copiar el vector constantemente al meter elementos es muy ineficiente).

También puedes usar vector::resize. Se diferencia de reserve en que este realmente cambia el tamaño del vector, no solo de su memoria.

Si has hecho resize, en evz de push_back, puedes usar iteradores o índices para rellenarlo.
#1706
Estás poniendo
Código (cpp) [Seleccionar]
(rand()%NUMMAX)
En vez de numeroAleatorio. Cada vez que pones eso, se genera un numero nuevo.

Y a todo esto, al hacer while y no do-while, la primera comprobación del while comprueba con "numero", al que no le has dado un valor por defecto. Pon numero=-1 (o cualquier otro número posible fuera del rango) para evitar fallos.
#1707
Lo que haces con GOTO, lo puedes hacer con bucles y condiciones.
La finalidad de cada bucle y condición es más evidente a la vista que un GOTO (por no decir, que las etiquetas hay que buscarlas, cosas que con bucles y condiciones no pasa).
Además, en POO, el uso de GOTO es aun más terrible.

GOTO está muy bien en BATCH, y es necesario en ASM (JMP), pero en C++ no hay justificación lógica para utilizarlo.

Como dato, no leí el artículo de Dijkstra xD
#1708
Java / Re: mejorar juego
18 Octubre 2015, 17:47 PM
¿Qué idea?

Los patrones de diseño son formas de nombrar a determinadas estructuras al diseñar un programa. No se trata de querer usar uno en específico, sinó de usar, si quieres, el que mejor te ayude a organizar el programa, y el más eficiente también preferiblemente.
#1709
Tienes a tu disposición todos los contenedores de la STD: vector, deque, list, ...
Si quieres find, u otra función, los tienes en la librería <algorithm>. Trabaja con iteradores, así que sirven para cualquier contenedor.
#1710
Java / Re: mejorar juego
18 Octubre 2015, 12:46 PM
Estás metiéndole a un campo "valor" un valor de tipo "tipo". Ahí porque son ambos int, pero si fuera cada uno de su clase, no funcionaría. Es incoherente.
Esa herencia no aporta nada, no es un buen uso. No hay que forzar el uso de técnicas que no se necesitan.