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
ME5 da un error al compilar, en mi opinión injustificado.
Me gustaría que el enum predefinido de la forma ENUM_XXX tuviera realmente el número 1, mientras que ahora tiene el número por defecto, es decir, el 0. La pregunta no es para cambiar los valores por defecto, sino para sustituir
debe ser
El razonamiento es el siguiente: un ejemplo:
Cuando analizo el valor de request.type en alguna parte del código, si es igual a 0, no puedo entender si no fue inicializado o fue inicializado.
request.type = ORDER_TYPE_BUY;
Este es el caso de la mayoría de los enums predefinidos de la forma ENUM_ XXX equivalente a RadioButton y requiere una complejidad desmedida para manejar correctamente la situación actual
¿Qué le impide escribir un identificador neutro como primer miembro de una enumeración predefinida? Por ejemplo:
Tanto la "numeración desde cero" será preservada, como las variables no inicializadas pueden ser fácilmente evaluadas.
¿Qué le impide escribir un identificador neutro como primer miembro de una enumeración predefinida? Por ejemplo:
¿Y si piensas en los demás que ya están usando el conjunto original de enums? Eso sin contar con la mirada perpleja de todo el complejo de servidores.
En general, la pregunta no está bien planteada. El desarrollador no debería ser perezoso y obligar al resto del mundo a adaptarse a sí mismo autodestruyendo ese mismo mundo.
Bueno, pensemos de nuevo, "sobre los otros". ¿Para qué sirven los identificadores de constantes con nombre? - Correcto, para poder utilizar estos identificadores. Además, para utilizar estos identificadores, no es absolutamente necesario saber qué valores específicos se asignan a los miembros de la enumeración. ¿O supone que los programadores competentes utilizan identificadores en lugar de averiguar los valores por defecto de los miembros del enum, y luego hacen comprobaciones basadas en estos valores por defecto?
Es decir, no es difícil aplicar la sugerencia en sí, ¿verdad?
El autor de este hilo no pretendía destruir los mundos de los demás por su pereza. Sólo hizo una sugerencia concreta de mejora. Y explicó que el valor cero resulta estar sobrecargado.
Me gustaría introducir al menos una clase como ámbito para los elementos con nombre de enum,
Justificación de las clases: hay que dar un nombre único que puede entrar en conflicto de forma inesperada con nombres de bibliotecas (incluso de terceros) y/o predefinidos. Además, podría utilizar nombres similares de elementos enuméricos SL, TP, PRICE, etc. en varias clases simultáneamente sin temor a conflictos.
Justificación de las funciones: no es crítica, pero al mismo tiempo
Nos gustaría introducir un ámbito para los elementos con nombre de enum
Razón de ser de las clases: hay que dar un nombre único que puede entrar en conflicto inesperadamente con un nombre de biblioteca y/o predefinido. Además, podría utilizar nombres similares para los elementos enum de SL, TP, PRICE, etc. en varias clases al mismo tiempo sin temor a conflictos.
Justificación de las funciones: no es crítica, pero al mismo tiempo
¿Pero cómo es en C++?
De ahí vienen las piernas - una paradoja, pero sólo ahora (cuando hay restricciones), empecé a entender por qué todo se hizo allí :)
Por supuesto, se podría prescindir de él - para escribir un nombre único para todas las clases, pero para los programas grandes, y especialmente para las bibliotecas destinadas al uso general - no es una opción
Pruebe esto (para la "inicialización"):
WRONG_VALUE.
Una constante puede ser implícitamente lanzada a cualquier tipo de enum.
-1