Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
ME5 dà un errore durante la compilazione, a mio parere ingiustificato.
Vorrei che l'enum predefinito della forma ENUM_XXX sia effettivamente numerato 1, mentre attualmente è numerato di default, cioè 0. La domanda non riguarda il cambiamento dei default, ma la sostituzione di
dovrebbe essere
Il ragionamento è il seguente: un esempio:
Quando analizzo il valore request.type da qualche parte nel codice, se è uguale a 0, non riesco a capire se non è stato inizializzato o è stato inizializzato.
request.type = ORDER_TYPE_BUY;
Questo è il caso della maggior parte degli enum predefiniti della forma ENUM_ XXX equivalente a RadioButton e richiede una quantità irragionevole di complessità per gestire correttamente la situazione attuale
Cosa vi impedisce di scrivere un identificatore neutro come primo membro di un'enumerazione predefinita? Per esempio:
Sia la "numerazione da zero" sarà conservata, e le variabili non inizializzate possono essere facilmente valutate.
Cosa vi impedisce di scrivere un identificatore neutro come primo membro di un'enumerazione predefinita? Per esempio:
E se pensate agli altri che stanno già usando l'insieme originale degli enum? Per non parlare dello sguardo perplesso di tutto il complesso di server.
In generale, la domanda non è posta correttamente. Lo sviluppatore non dovrebbe essere pigro e costringere il resto del mondo ad adattarsi a se stesso autodistruggendosi proprio quel mondo.
Beh, pensiamo di nuovo "al resto". A cosa servono gli identificatori di costanti con nome? - Corretto, per poter utilizzare questi identificatori. Inoltre, per usare questi identificatori, non è necessario sapere quali valori specifici sono assegnati ai membri dell'enumerazione. O supponi che i programmatori competenti usino gli identificatori invece di scoprire i valori predefiniti dei membri di enum, e poi facciano controlli basati su questi valori predefiniti?
Cioè, non è difficile implementare il suggerimento stesso, vero?
L'autore di questo thread non intendeva distruggere i mondi degli altri con la sua pigrizia. Ha fatto solo un suggerimento specifico per migliorare. E ha spiegato che il valore zero risulta essere sovraccarico.
Vorrei introdurre almeno una classe come ambito per gli elementi con nome enum,
Motivazione per le classi: devi trovare un nome unico che potrebbe inaspettatamente entrare in conflitto con i nomi delle librerie (anche di terze parti) e/o predefiniti. Inoltre, potreste usare nomi simili di elementi enum SL, TP, PRICE, ecc. in diverse classi simultaneamente senza paura di conflitti.
Motivazione delle funzioni: non critiche, ma allo stesso tempo
Vorremmo introdurre un ambito per gli elementi con nome enum
Motivazione per le classi: devi trovare un nome unico che potrebbe inaspettatamente entrare in conflitto con una libreria e/o un nome predefinito. Inoltre, potreste usare nomi simili per gli elementi enum SL, TP, PRICE, ecc. in diverse classi allo stesso tempo senza paura di conflitti.
Motivazione delle funzioni: non critiche, ma allo stesso tempo
Ma com'è in C++?
Ecco da dove vengono le gambe - un paradosso, ma solo ora (quando ci sono le restrizioni), ho cominciato a capire perché tutto è stato fatto lì :)
Naturalmente, potreste farne a meno - scrivere un nome unico per tutte le classi, ma per programmi di grandi dimensioni, e specialmente per librerie destinate all'uso generale - non è un'opzione
Provate questo (per "inizializzazione"):
WRONG_VALUE.
Una costante può essere implicitamente lanciata a qualsiasi tipo di enum.
-1