Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Ya hemos hablado de ello. Hemos descubierto que podemos arreglárnoslas con la funcionalidad existente.
TheXpert:
Да ладно? И каким же функционалом можно обойтись, напомните, пожалуйста?
Te lo dije. Disponible.
Por ejemplo, tenemos los archivos de cabecera incluidos una vez. No se necesita #ifdef.
En lugar de macrosustituciones de constantes en función de una condición, podemos utilizar variables que se inicializan de forma diferente en distintas condiciones.
De nuevo, las condiciones pueden ser definidas por variables constantes en lugar de definiciones por defecto.
Presencia de la constante IS_DEBUG_MODE
Capacidad para determinar sobre la marcha en qué entorno funciona el programa (pruebas, depuración, pruebas visuales, optimización, permitir el uso de dll).
¿Por qué las variables globales sólo son de tipo double? Ambos en el 4 interferían terriblemente y en el 5 no está claro por qué no, en particular las variables de cadena.
Es el tamaño máximo de los datos numéricos. Puedes poner hasta 8 bytes de información en una variable global, que puedes interpretar como largo, como 2 ints o como 64 bits.
Por qué las variables globales no pueden ser de tipo string, por la misma razón que las variables globales no pueden ser arrays: para no complicar innecesariamente
Por qué las variables globales no pueden ser de tipo string, por la misma razón que las variables globales no pueden ser arrays - para no complicar las cosas innecesariamente
Slava, el público difícilmente estará de acuerdo contigo en este caso: esta complicación no sería innecesaria. ¿Quieres hacer una votación?
"Complicar en exceso" en este contexto significa añadir nuevas funcionalidades lentas para un pequeño número de usuarios. Ya se ha implementado un mecanismo de almacenamiento y acceso muy eficiente, y no queremos destruirlo.
Para intercambiar datos entre programas (e incluso entre terminales de clientes en el mismo ordenador) se pueden utilizar archivos. Basta con escribir una vez un par de clases estándar.
Por cierto, sobre las variables globales de cadena. ¿Los necesita para el intercambio de datos entre programas dentro de un mismo terminal cliente? Entonces, ¿por qué no pasar las cadenas directamente, a través de eventos de usuario? Es un método mucho más eficiente que el intercambio de datos a través de variables globales.
Es el tamaño máximo de los datos numéricos. Puedes poner hasta 8 bytes de información en una variable global, que puedes interpretar como larga, como 2 ints o como 64 bits.
Por qué las variables globales no pueden ser cadenas, por la misma razón que las variables globales no pueden ser arrays - para no complicar las cosas innecesariamente
Por cierto, sobre las variables globales de cadena. Los necesitas para intercambiar datos de cadenas entre programas dentro de un terminal cliente, ¿verdad? Entonces, ¿por qué no pasar las cadenas directamente, a través de eventos de usuario? Es un método mucho más eficiente que el intercambio de datos a través de variables globales.
Un razonamiento conocido: te haces la vida más fácil a ti mismo y más difícil a los usuarios, aunque el programa parece estar escrito para ellos. No hay ninguna complicación especial en términos de implementación para usted, pero tratar de "interpretar" este doble de cualquier manera, a falta de otra cosa - esto es una complicación para el usuario, por no decir más fuerte. Mientras que usted tiene que emular las variables globales de otros tipos con medios improvisados - lo que podría hacer en el sistema una vez, los desarrolladores de aplicaciones hacen en su propio lugar.
¿Por qué emular algo? Se puede almacenar cualquier tipo de datos en los 8 bytes de una variable global, excepto una cadena. Si es un dato de tipo double, se utiliza directamente el valor resultante. Si son datos de otro tipo, entonces se necesita una operación adicional de copia de estructuras simples para obtener los datos del tipo correcto.
¿Por qué emular algo? Se puede almacenar cualquier tipo de datos en los 8 bytes de una variable global, excepto una cadena. Si se trata de datos de tipo double, se utiliza directamente el valor resultante. Si es de otro tipo, se necesita una operación adicional de copia de estructuras simples para obtener los datos del tipo correcto.