Ver Mensaje Individual
  #10 (permalink)  
Antiguo 11/04/2016, 10:24
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: Inicializar array de cadenas en constructor

Cita:
Iniciado por aguml Ver Mensaje
Ok, lo primero que pones no funciona.
Sin saber cómo lo estás escribiendo tu y sin conocer la versión de C++ sobre la que estás compilando es complicado dar respuestas más concretas.

Cita:
Iniciado por aguml Ver Mensaje
Lo demas que indicas no lo veo, para eso hago esto:

...

Esto funciona pero no se que tan correcto será.
Yo lo denominaría como algo tan engorroso o incluso más que las soluciones que te propongo.

Cita:
Iniciado por aguml Ver Mensaje
Otra opcion antes de crearme mi propia clase para eso seria usar por ejemplo TStrings de C++Builder e ir añadiendo uno a uno todos los miembros y seria algo asi:

...

No lo hago asi por lo engorroso que es el tener que estar gestionando la memoria dinamica y los problemas que puede dar al correr en un pc que no tenga suficiente memoria libre y tenga que crear items en tiempo de ejecucion mientras que lo que yo intento ya ocupen una memoria y no soliciten mas al arrancar.
La gestión de textos en una aplicación siempre es una tarea engorrosa. No todo en la programación iba a ser bonito y agradable de hacer.

En cuanto al tema de la memoria... no se, salvo que trabajes con un 386 con 32MB de RAM no se me ocurre cómo puedes llenar la memoria dinámica a base de textos. Las opciones que te he propuesto cuidan de no repetir cadenas, de tal forma que el consumo de memoria se reduce tanto como usando static.

Cita:
Iniciado por aguml Ver Mensaje
Creo que la unica forma es como lo he hecho con static o al menos la unica que me ha funcionado.
Si tienes una forma que te funciona y no hay razones de peso para cambiarla usa esa. Para cambiarla por algo mejor siempre tendrás tiempo en el futuro (sobretodo si el diseño es bueno).

Volviendo al tema de las soluciones que te he propuesto has de tener en cuenta que crear clases es prácticamente gratis en C++. ¿Que empiezas a tener muchos archivos en el proyecto? Lo mismo empieza a tener sentido montarse un sistema de documentación con doxygen para no tener que abrir cada dos por tres los ficheros a ver qué tienen dentro... pero vamos que no te de pereza crear clases para lo que necesites.

Por otro lado, tener clases separadas te puede ayudar a evitar duplicados, en tu caso, textos que se repitan en varias ventanas.

Un saludo.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.