Errori, bug, domande - pagina 1648
![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
Non è così che funziona l'attuale 0?
In generale, c'è molta confusione lì, non possiamo sapere la dimensione reale della memoria allocata per l'array per controllarla e ottimizzarla.
Se ricordo bene la spiegazione, la dimensione della riserva non diminuisce anche se le viene dato esplicitamente un numero più piccolo.
Sbagliato. A giudicare dall'esempio dell'aiuto, 0 funziona effettivamente come 0 e quindi il suggerimento -1 ha molto senso.
E riformulerò il mio suggerimento su ArrayResize come segue: quando si specifica reserve_size=-1, la funzione non deve cambiare la dimensione della memoria allocata per l'array se il parametro size si trova in questo intervallo. Se size > capacità, il buffer crescerà naturalmente.
La logica per lavorare con le allocazioni (codice condizionale):
L'array ("inside") memorizza quanti elementi sono allocati nell'array.
La logica del lavoro con le allocazioni (codice condizionale):
Capisco, grazie. E all'inizio questa allocazione è uguale a -1, o no? Cioè alla chiamata iniziale di ArrayResize(arr, 0, 100) l'allocazione sarà?
Questo allocato all'inizio è uguale a -1, o no?
Cioè quando ArrayResize(arr, 0, 100) viene chiamato inizialmente, si verifica l'allocazione?
L'allocazione avviene solo se la dimensione dell'array cambia verso l'alto. In questo caso, la dimensione dell'array non cambia, perché era uguale a 0.
La differenza è che nel primo caso non c'è nessun errore :)