Errori, bug, domande - pagina 2325
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
C'erano buone ragioni per abbandonare l'operatore ->?
No, non c'erano motivi seri.
L'unica giustificazione per la sua assenza è la preoccupazione per le menti immature degli utenti che non hanno familiarità con C++.
La doppia negazione è ottimizzata dal compilatore?
Sì, è così.
No, non c'erano motivi seri.
L'unica giustificazione per la sua assenza è la cura delle fragili menti degli utenti che non hanno familiarità con C++.
Non credo che succederà nulla di male se lo aggiungi.
Si può permettere l'uso di un punto con dei puntatori dove non c'è ambiguità per un po' di tempo.
E naturalmente emettere un avvertimento.
Non credo che succederà nulla di male se lo aggiungi.
Perun po', si può essere autorizzati a usare un punto con i puntatori dove non c'è ambiguità.
E naturalmente emettere un avvertimento.
Perché renderlo così complicato? È sufficiente per rendere . e -> dischi equivalenti e intercambiabili.
In senso figurato
#define -> .
Sì, c'è ambiguità nel suo caso. In senso buono, ci dovrebbe essere almeno un avvertimento del compilatore per questo tipo di cose.
Nel mio caso, che è molto più semplice, tutto è chiaro. Credo che anche C++ sia d'accordo con questo.
Hai una chiarezza immaginaria - un piccolo cambiamento (di classe A) e il significato cambia drammaticamente
Questa è una modifica alla classe e dovrebbe risultare in un messaggio del compilatore corrispondente.
Se non c'è, è una chiarezza totale.
Come soluzione temporanea, usate l'operatore '! (logico no).
Penseremo alla soluzione (possiamo cambiare il comportamento ora, quando c'è molto codice?)
È possibile che per un puntatore, un'operazione di conversione bool sia un'operazione sul puntatore e non sull'oggetto a cui punta.
Senza cambiare i codici esistenti, non funzionerà... L'intero concetto di puntatori come oggetti dinamici crolla
Voglio dire, invece di scrivere solo
dovremo scriverne una confusa.
if ( *a * *b );//(2)
E tutto questo per cosa? In modo che un puntatore possa essere controllato per NULL? - C'è un operatore di confronto per questo:
Perché duplicarlo?
l'intero concetto di puntatori come oggetti dinamici crolla