La funzione di sistema Point() è in realtà inlined e convertita in un semplice accesso alla variabile _Point
Qualcuno diceva, se ricordo bene Renat o tu, che si raccomanda di usare Point(), Digits()... È vero? Almeno, io lo faccio sempre, tenendo presente la raccomandazione.
Andrey Dik: Qualcuno ha detto, se ricordo bene, Renat o tu, che si raccomanda di usare Point(), Digits()... È vero? Almeno, ricordando la raccomandazione, lo faccio sempre.
Sì, proprio così.
La prossima volta darò degli esempi che sono in linea con le nostre raccomandazioni
Un anno fa stavamo discutendo l'idea di restituire il valore della funzione per riferimento (richiesta 1292558). Alla fine ci è stato assicurato che il problema è stato risolto e la funzione apparirà alla fine dell'autunno (l'anno scorso). Ma siamo ancora qui. Possiamo chiedere per quale motivo questo non è stato implementato?
2. E l'eredità multipla? Io, per esempio, ne ho davvero bisogno, almeno la doppia eredità.
3. la parola chiave override per le funzioni virtuali nelle classi derivate è una cosa assolutamente necessaria per OOP. Il compilatore non sarà in grado di controllarli altrimenti: se si imposta un tipo sbagliato di argomento da qualche parte o ci si dimentica di usare const da qualche parte, ecco fatto - questa è una funzione diversa. Si ottengono anche errori che sono difficili da catturare.
4. abbiamo bisogno della possibilità di sovraccaricare l'operatore fantasma.
Avete anche bisogno di perfezionare i modelli di funzione. In questo momento, tutti i vostri nomi di tipo sono cablati agli argomenti delle funzioni, il che rende impossibile implementare molti costrutti. Per esempio questo:
Naturalmente, questo può essere risolto in modo grossolano, passando argomenti fittizi nella funzione, ma si capisce che questo confonde molto il codice.
Avete anche bisogno di perfezionare i modelli di funzione. In questo momento, tutti i vostri nomi di tipo sono cablati agli argomenti delle funzioni, il che rende impossibile implementare molti costrutti. Per esempio questo:
Naturalmente, questo può essere risolto in modo grossolano, passando argomenti fittizi nella funzione, ma si capisce che questo confonde molto il codice.
Vorrei anche che il compilatore specificasse nel log il tipo di variabile che ha causato l'errore quando rileva un errore all'interno del template, altrimenti può essere molto difficile trovarlo.
Supponiamo il seguente frammento di codice:
void F(A& a) { }
void F(B& a) { }
template<typename T>
void Func(T& obj) { F(obj); } // 'F' - no one of the overloads can be applied to the function call
Non sappiamo a quale tipo T corrisponde qui, quindi è difficile determinare da dove nel programma è stato chiamato questo schema. E ci possono essere molti frammenti di questo tipo, compresi quelli di altri modelli. E se il compilatore avesse scritto che obj è di tipo C per esempio, avreste capito subito dove guardare.
Ciao a tutti. Ho fatto questa domanda diverse pagine fa, ma ci riproverò. C'è un modo per ri-accedere al mio conto quando la connessione al server MT5 è interrotta? La ricerca sui forum non ha dato nulla.
Dmitri Custurov: Ciao a tutti. Ho fatto questa domanda diverse pagine fa, ma ci riproverò. C'è un modo per ri-accedere al mio conto quando la connessione al server MT5 è interrotta? La ricerca sui forum non ha dato nulla.
No, non puoi. Ma la riconnessione è automatica, quindi non ce n'è bisogno.
La funzione di sistema Point() è in realtà inlined e convertita in un semplice accesso alla variabile _Point
Qualcuno ha detto, se ricordo bene, Renat o tu, che si raccomanda di usare Point(), Digits()... È vero? Almeno, ricordando la raccomandazione, lo faccio sempre.
Sì, proprio così.
La prossima volta darò degli esempi che sono in linea con le nostre raccomandazioni
Alcune domande e richieste agli sviluppatori.
Un anno fa stavamo discutendo l'idea di restituire il valore della funzione per riferimento (richiesta 1292558). Alla fine ci è stato assicurato che il problema è stato risolto e la funzione apparirà alla fine dell'autunno (l'anno scorso). Ma siamo ancora qui. Possiamo chiedere per quale motivo questo non è stato implementato?
2. E l'eredità multipla? Io, per esempio, ne ho davvero bisogno, almeno la doppia eredità.
3. la parola chiave override per le funzioni virtuali nelle classi derivate è una cosa assolutamente necessaria per OOP. Il compilatore non sarà in grado di controllarli altrimenti: se si imposta un tipo sbagliato di argomento da qualche parte o ci si dimentica di usare const da qualche parte, ecco fatto - questa è una funzione diversa. Si ottengono anche errori che sono difficili da catturare.
4. abbiamo bisogno della possibilità di sovraccaricare l'operatore fantasma.
Avete anche bisogno di perfezionare i modelli di funzione. In questo momento, tutti i vostri nomi di tipo sono cablati agli argomenti delle funzioni, il che rende impossibile implementare molti costrutti. Per esempio questo:
Naturalmente, questo può essere risolto in modo grossolano, passando argomenti fittizi nella funzione, ma si capisce che questo confonde molto il codice.
Avete anche bisogno di perfezionare i modelli di funzione. In questo momento, tutti i vostri nomi di tipo sono cablati agli argomenti delle funzioni, il che rende impossibile implementare molti costrutti. Per esempio questo:
Naturalmente, questo può essere risolto in modo grossolano, passando argomenti fittizi nella funzione, ma si capisce che questo confonde molto il codice.
Vorrei anche che il compilatore specificasse nel log il tipo di variabile che ha causato l'errore quando rileva un errore all'interno del template, altrimenti può essere molto difficile trovarlo.
Supponiamo il seguente frammento di codice:
Non sappiamo a quale tipo T corrisponde qui, quindi è difficile determinare da dove nel programma è stato chiamato questo schema. E ci possono essere molti frammenti di questo tipo, compresi quelli di altri modelli. E se il compilatore avesse scritto che obj è di tipo C per esempio, avreste capito subito dove guardare.
Aperto, Iniziato: 2016.07.04 06:48, #1507434
In arrivo un mese ....
Aperto, Iniziato: 2016.07.04 06:48, #1507434
In arrivo un mese ....
Gli amministratori e gli sviluppatori non vanno via per un fine settimana senza una risposta...
Ciao a tutti. Ho fatto questa domanda diverse pagine fa, ma ci riproverò. C'è un modo per ri-accedere al mio conto quando la connessione al server MT5 è interrotta? La ricerca sui forum non ha dato nulla.