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

#341
O sumas 1 al puntero, o utilizas corchetes para acceder como a un array.

Código (cpp) [Seleccionar]
((unsigned char*)address)[1] = 0x66;
#342
Esto es más C que C++ :o

Utiliza scanf para pedirle el nombre del archivo al usuario. Luego, pones la variable en el fopen y listo.
#343
Al margen de que el inglés sea uno de los lenguajes más utilizados, simples y con un conjunto de caracteres "pequeño" en comparación con otros...

La programación es programación, no tiene por qué ser traducida.
¿Por qué inglés? Porque sí. Ahora, todo en un mismo lenguaje, hace que todos podamos entenderlo todo. La gran minoría que no sepa inglés Y quiera programar, basta que aprenda inglés (le irá mucho mejor en la vida actualmente si pretende hacer algo fuera de su país).

Tratar de separar los lenguajes en idiomas es una forma terrible de disgregar a los programadores "porque sí", entorpeciendo el progreso, que al final es lo que es. La programación es una herramienta para hacer cosas nuevas. Muy pocos proyectos no novedosos en algún sentido han logrado ser algo.
Lo dicho: progreso. El progreso se hace mejor unidos. Y no podemos estar unidos si no nos podemos comunicar. El lenguaje elegido ha sido el inglés. No hay que ver sus contras; hay que ver sus pros.

"Lenguajes de programación en varios idiomas para educación de los niños". Esta es la única razón que aceptaría por al cual traducir un lenguaje. Y, la verdad, creoq ue es más útil enseñarles inglés a los niños desde antes y punto. 2 pájaros de un tiro. Y esto es algo que ya se está haciendo.
#344
Programación C/C++ / Re: Pointers.duda
11 Agosto 2017, 12:25 PM
Un ejemplo simple: Para trabajar con memoria dinámica, trabajas con punteros, pues es lo que necesitas: un puntero a un bloque de memoria.

Luego, en C++, hay constructores, constructores de copia, constructores de movimiento y destructores. Estas funciones no las llamas tú; se llaman solas en el momento adecuado. Utilizando punteros, evitas llamar, por ejemplo, constructores de copia. Además, como el puntero puede no apuntar a un objeto, tienes la posibilidad de construir el objeto en el momento justo en el que lo necesites.

Imaginate un array de 5 elementos:
Código (cpp) [Seleccionar]
Obj *array = new Obj[5];

Esos 5 elementos han sido construidos. Imagina ahora que quieres incrementar a 6 el tamaño. Tienes que mover o copiar uno a uno los elementos. Mover es algo relativamente rápido. Pero copiar puede ser muy pesado, y no todas las clases se pueden mover. Una opción aquí, es guardar un array de punteros:
Código (cpp) [Seleccionar]
Obj **array = new Obj*[5];

for(int i=0; i<5; i++){
    array[i] = new Obj();
}


Así, cuando se crea el nuevo array de 6 elementos, solo vas a tener que copiar los punteros (que no son más que números), y evitas copiar todos los objetos. La diferencia de rendimiento es muy grande.

En cualquier caso, no te preocupes. ya encontrarás el momento para usarlos cuando los necesites.

Así como detalle, una lista enlazada, ¿cómo la harías?
#345
Eso sí que hace lo que quieres. Otra cosa es que el navegador oculte las alertas. por ejemplo, Firefox te da la opción de bloquearlas cuando salen varias seguidas.
#346
A ver, siendo sinceros, todo lo que se ha hecho en este foro en conjunto ha funcionado. Por ejemplo, el grupo de Skype... Ok, ese olvidadlo. o el grupo de Telegr... Ni hablar del tema. ¡Ah! ¡El grupo de IRC! Ah no, está muerto. Pero... ¿Y recordáis cuando el grupo de WhatsApp? Mm, sí, mejor no recordarlo.
:D!
#347
Pusiste x=edad en vez de edad=x. Lo mismo para género.

Y como detalle, aqui no estas usando punteros. Ese "int &x" es un "parámetro por referencia", pero no es un puntero.
#348
Pones el getline y lo que sea el código dentro del bucle while. Ese while con esa condición termina cuando el archvio ha sido leído al completo.
#349
Son 2 líneas no? Empieza escribiendo 2 veces el getline ¯\_(ツ)_/¯
¿Y si son 3 líneas?
#350
La verdad, yo en tu caso me plantearía empezar a utilizar una librería para gráficos (como SFML, por ejemplo), y hacer el juego con gráficos.
Una consola, al fin y al cabo, es una consola. Es dar vuetas de más.


En cualquier caso, si sigues con esto:

- ¿Utilizas C o C++? Si utilizas C++, la librería estandar tiene threads a partir de C++11 (un estandar relativamente antiguo, asi que probablementelo tengas). Su include es <thread> y la clase se llama "thread", y son muy sencillos e usar.

- Sin threads de C++, puedes usar los de windows. Son algo más "complejos", pero bueno, bien englobado todo en funciones, todo se hace sencillo.

- Otra opción es, con 1 solo thread, dibujar y ver si hay teclas pulsadas. Para esto, sin bloquear la aplicación leyendo la entrada del usuario, puedes usar la función de la WinAPI "GetAsyncKeyState", que te dice si una tecla está pulsada o no.

Vistas estas alternativas, ¿cuál elegirías?