Bug del compilatore con il parametro template = void* - pagina 14

 

Solo staffe. Solo procioni. Solo hardcore!!!11111

#define    cmp(D1,D2)          \
  ((t_flp(D1)||t_flp(D2))?(((D1)>=(D2))?(((D1)-(D2))>=EPS(D1)?1:0):(((D2)-(D1))>=EPS(D1)?-1:0)):(((D1)>(D2))?1:(((D1)<(D2))?-1:0)))
 
Ilya Malev:

Solo staffe. Solo procioni. Solo hardcore!!!11111

Solo in #define il compilatore non genera gli avvertimenti corrispondenti,e sarebbe anche bello

A proposito, le parentesi non sono necessarie qui.

(((D1)<(D2))?-1:0)
 

Dio non voglia che si usino le parentesi nelle macro. Non si può fare a meno di loro lì.

Igor Makanu:

perché non cambierà quando si porta il codice in altri linguaggi di programmazione

In altri linguaggi (ad esempio BASIC o Pascal) gli operatori bitwise e condizionali non sono validi, quindi è un problema spurio e MQ che pasticcia con le priorità in passato non è un indicatore).

 
A100:

Solo in #define il compilatore non genera gli avvertimenti corrispondenti, il chesarebbe anchebello

Ma prima si usa in un codice specifico, e dà un suggerimento tale che deve essere messo non in un posto che considera sospetto, ma in un posto dove nel codice è scritto il simbolo da definire. Penso che questo sia una specie di suggerimento per mantenere i vostri coons e non abusare del loro preprocessore)

 
Ilya Malev:
A proposito, non usate spazi nel vostro codice per una questione di principio? Ecco un altro esempio. Non so come si possa dare un senso a una tale accozzaglia di caratteri se tutto il codice è in quello stile.
 
Alexey Navoykov:
A proposito, non usate spazi nel vostro codice? Ecco un altro esempio. Non so come si possa capire un tale ammasso di caratteri se tutto il codice è in questo stile.

In defines, sì, non li uso, perché non li considero come codice, sono solo macro, dovrebbero essere il più compatti possibile. E questo esempio è stato scelto appositamente come il più orientato al procione di tutta la libreria ))

Per quanto riguarda l'esempio, scritto in 2 minuti, l'indentazione è lì, dove volevo mostrare la parte importante - le chiamate del in OnStart e il resto era secondario ed è più importante che il post non occupi mezza pagina, che mantenere l'indentazione.

 
Ilya Malev:

... sono solo macro, dovrebbero essere il più compatto possibile.

... È più importante che il post non occupi mezza pagina che che sia indentato.

Non capisco la vostra logica e le vostre priorità (non è così).
 
A100:

Perché non li appendi tu stesso? Non potevo essere disturbato a guardare il tuo profilo:

Dovrebbe essere così:

Dichiarate una cosa, ma fate esattamente il contrario.

Se anche gli aderenti alle parentesi non le mettono loro stessi, questa è la migliore prova della loro inutilità

Ahimè, il mio codice, che hai citato come esempio, è stato scritto da me molto tempo fa, 4 anni fa credo.

Il mio post riguardava l'accoglienza dell'univocità nelle espressioni aritmetiche/logiche e le parentesi permettono di ottenerla, ora cerco generalmente di scrivere condizioni univoche, è più facile per me, ed è impossibile fare un errore, avete citato un frammento di codice dove stavo calcolando gli ordini virtuali, ora scrivo questo problema in questo modo:

allorders = OrdersCount(all_buy,all_sell);
if(allorders==0){
   // если торговля одним ордером выставим ордер и выход
   if(MA1>MA2) { BUY();  return;}
   if(MA1<MA2) { SELL(); return;}
.......   

// или так
   if(all_buy==0){
      if(MA1>MA2) { BUY();  return;}
   }
   if(all_sell==0){
      if(MA1<MA2) { SELL();  return;}
   }

//ф-ция подсчета ордеров
int OrdersCount(int &buy_,int &sell_)
{
   buy_=0; sell_ =0;
.............   
   return(buy_+sell_);

}

Non sono un esperto di parentesi, ma sono un sostenitore di un algoritmo a valore unico, che sarà letto allo stesso modo di una strategia di trading

;)

PS: non partecipo più a questo coro, anche se@fxsaber ha scritto che le parentesi aiutano ad evitare gli errori, allora non c'è niente da discutere, perché lui sa come scrivere codici così compatti, ce ne sono solo due volte di più su questo forum, la brevità è la sorella del talento - si tratta di@fxsaber


Ilya Malev:

Solo staffe. Solo procioni. Solo hardcore!!!11111

E poi ho capito perché Metacquotes non fornisce puntatori completi in MQL.... ha illustrato le tue macro e il tuo codice con il passaggio di puntatori, la dereferenziazione di puntatori nelle funzioni... L'hardcore è molto blando, qual è il prossimo BDSM? ))))

 
Igor Makanu:

Perché è in grado di scrivere codici così compatti, ci sono solo una manciata di tali persone su questo forum, la brevità è la sorella del talento - si tratta di@fxsaber

(Le parentesi ammucchiate sopra le parentesi sono la sorella del talento? ) Beh, ognuno ha diritto alla sua opinione.
 
Alexey Navoykov:
(È la sorella del talento ad essere piena di parentesi inutili? ) Ma ognuno ha diritto alla sua opinione.

non sono superflui! aiutano a leggere la logica di come si forma l'espressione!

il numero di parentesi influisce sulla velocità? - a meno che non influisca sulla velocità di battitura, ma nessuno lo guarda.... il numero di parentesi che ogni utente in un giorno in internet è un esempio eclatante ))))