Compilerfehler mit Template-Parameter = void* - Seite 15

 

Hier ist die "richtige" Definition für Sie, da Sie gerne auf allem herumhacken)))

#define    POKE(t, i, b, n, v)     ( i & ((( ~ MASK( t, n )) << t( b )) | (( v & MASK( t, n )) << t( b ))))
 
Igor Makanu:

Sie sind nicht überflüssig! Sie helfen, die Logik der Ausdrucksform zu verstehen!

Wirkt sich die Anzahl der Klammern auf die Geschwindigkeit aus? - es sei denn, es wirkt sich auf die Tippgeschwindigkeit aus, aber niemand sieht es sich an.... die Anzahl der Klammern, die jeder Nutzer pro Tag im Internet eintippt, ist ein gutes Beispiel ))))

Dies ist eine Garantie für fehlerfreie und schnelle Korrekturen in der Zukunft.

 
Dmitry Fedoseev:

Dies ist eine Garantie für fehlerfreie und schnelle Revisionen in der Zukunft.

Da! Wenigstens jemand, der kurz und förmlich schreiben kann, ich verkompliziere immer alles und schreibe viele Briefe... Ups, jetzt geht's wieder los)))

 
Ilya Malev:

Hier ist eine "richtige" Definition für Sie, da Sie gerne auf allem herumhacken))))

Ein weiteres Beispiel für überflüssige Klammern: die Anzahl derüberflüssigen Klammern zu erhöhen - ohne die notwendigen Klammern

(( ~ MASK(( t),( n))) << t( b ))
Klammern sind also keine Garantie für so etwas, sondern im Gegenteil - sie entspannen
 

Sie brauchten keine Klammern um t und n - sie konnten nicht zusammengesetzt sein. Nun gut, da wir uns gerade so festlich unterhalten, lassen Sie uns das hier betrachten: ))))

#define  B64(M,N)      (( N ) < 32                                                                                       \
                    ? (( N ) < 16                                                                                       \
                    ? (( N ) <  8                                                                                       \
                    ? (( N ) <  4                                                                                       \
                    ? (( N ) <  2                                                                                       \
                         ?                                                                                              \
                      (( N ) <  1 ? M##0  : M##1  )                                                                     \
                    : (( N ) <  3 ? M##2  : M##3  ))    : (( N ) <  6 ?                                                 \
                      (( N ) <  5 ? M##4  : M##5  )                                                                     \ 
                    : (( N ) <  7 ? M##6  : M##7  )))   : (( N ) < 12 ? (( N ) < 10 ?                                   \
                      (( N ) <  9 ? M##8  : M##9  )                                                                     \
                    : (( N ) < 11 ? M##10 : M##11 ))    : (( N ) < 14 ?                                                 \
                      (( N ) < 13 ? M##12 : M##13 )                                                                     \
                    : (( N ) < 15 ? M##14 : M##15 ))))  : (( N ) < 24 ? (( N ) < 20 ? (( N ) < 18 ?                     \
                      (( N ) < 17 ? M##16 : M##17 )                                                                     \
                    : (( N ) < 19 ? M##18 : M##19 ))    : (( N ) < 22 ?                                                 \
                      (( N ) < 21 ? M##20 : M##21 )                                                                     \
                    : (( N ) < 23 ? M##22 : M##23 )))   : (( N ) < 28 ? (( N ) < 26 ?                                   \
                      (( N ) < 25 ? M##24 : M##25 )                                                                     \
                    : (( N ) < 27 ? M##26 : M##27 ))    : (( N ) < 30 ?                                                 \
                      (( N ) < 29 ? M##28 : M##29 )                                                                     \
                    : (( N ) < 31 ? M##30 : M##31 ))))) : (( N ) < 48 ? (( N ) < 40 ? (( N ) < 36 ? (( N ) < 34 ?       \
                      (( N ) < 33 ? M##32 : M##33 )                                                                     \
                    : (( N ) < 35 ? M##34 : M##35 ))    : (( N ) < 38 ?                                                 \
                      (( N ) < 37 ? M##36 : M##37 )                                                                     \
                    : (( N ) < 39 ? M##38 : M##39 )))   : (( N ) < 44 ? (( N ) < 42 ?                                   \
                      (( N ) < 41 ? M##40 : M##41 )                                                                     \
                    : (( N ) < 43 ? M##42 : M##43 ))    : (( N ) < 46 ?                                                 \
                      (( N ) < 45 ? M##44 : M##45 )                                                                     \
                    : (( N ) < 47 ? M##46 : M##47 ))))  : (( N ) < 56 ? (( N ) < 52 ? (( N ) < 50 ?                     \
                      (( N ) < 49 ? M##48 : M##49 )                                                                     \
                    : (( N ) < 51 ? M##50 : M##51 ))    : (( N ) < 54 ?                                                 \ 
                      (( N ) < 53 ? M##52 : M##53 )                                                                     \
                    : (( N ) < 55 ? M##54 : M##55 )))   : (( N ) < 60 ? (( N ) < 58 ?                                   \
                      (( N ) < 57 ? M##56 : M##57 )                                                                     \
                    : (( N ) < 59 ? M##58 : M##59 ))    : (( N ) < 62 ?                                                 \
                      (( N ) < 61 ? M##60 : M##61 )                                                                     \
                    : (( N ) < 63 ? M##62 : M##63 ))))))  

Danach habe ich festgestellt, dass ( long( 1 ) << N ) 2 mal schneller ist, aber das ist nicht der Punkt)

 
A100:

Ein weiteres Beispiel für unnötige Klammern: Bei der Suche nach der Anzahl derunnötigen Klammern werden die notwendigen übersehen

Sie haben zu viele Klammern als "unnötig" gesetzt. Wenn man sich zum Ziel setzt, so viele Klammern wie möglich zu entfernen, damit der Compiler nicht anfängt zu fluchen, mag man vielleicht Recht haben, aber dieses Ziel ist es nicht wert, wenn man Code schreiben will, der auf den ersten Blick für einen selbst und andere verständlich ist (vor allem wenn man doppelte Klammern im Editor hervorhebt ).

 
Ilya Malev:

(Ich bin mir da nicht sicher)))

void f()
{
        ulong x = B64( ,3); //Error
}

Ein Fehler bei der Kompilierung. Was wurde erwartet?

 
A100:

Es war ein Kompilierungsfehler. Was wurde erwartet?

Es geht nur um die Schönheit der Sache. Es gibt 128 weitere Defines, die an dieses Define angehängt sind, damit es funktioniert, aber ich erspare den Zweiglesern lieber )))

 
Igor Makanu:

sie sind nicht überflüssig! sie helfen, die Logik hinter der Bildung dieses Ausdrucks zu verstehen!

Nun, wenn sie Ihnen helfen, dann möge Gott mit Ihnen sein. Nur ging es in Ihrem Beitrag um "Kürze ist die Schwester des Talents". Ich frage also, wie diese Aussage mit einer Fülle von überflüssigen Klammern kombiniert werden kann. Ich brauche sie nicht, um die Logik zu verstehen. Bedeutet das, dass ich talentierter bin? )
 
Alexey Navoykov:
Ich brauche sie nicht, um die Logik zu verstehen. Macht mich das talentierter? )

Ein weiteres Ziel für die Adepten: Ja, wir haben sie mit einem Erdrutschsieg geschlagen.)

Grund der Beschwerde: