Error del compilador con el parámetro de la plantilla = void* - página 15

 

Aquí está la definición "correcta" para ti, ya que te gusta meterte con todo)))

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

¡no son superfluas! ¡ayudan a leer la lógica de cómo se forma la expresión!

¿el número de soportes afecta a la velocidad? - a menos que afecte a la velocidad de escritura, pero nadie lo ve.... el número de paréntesis que cada usuario teclea al día en la web es un buen ejemplo ))))

Esto es una garantía de correcciones rápidas y sin errores en el futuro.

 
Dmitry Fedoseev:

Esto es una garantía de revisiones rápidas y sin errores en el futuro.

por lo menos alguien que sabe escribir de manera corta y formal, yo siempre complico las cosas y escribo muchas cartas... oops, aquí vamos de nuevo)))

 
Ilya Malev:

He aquí una definición "correcta" para ti, ya que te gusta meterte con todo))))

Otro ejemplo de paréntesis innecesarios: persiguiendo el número de paréntesisinnecesarios - faltan los necesarios

(( ~ MASK(( t),( n))) << t( b ))
Por lo tanto, los corchetes no son una garantía de tal cosa, sino que, por el contrario, relajan
 

No necesitas corchetes alrededor de t y n - no pueden ser compuestos. Muy bien, ya que estamos teniendo una conversación tan festiva, consideremos esto ))))

#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 ))))))  

Después de eso me di cuenta de que ( long( 1 ) << N ) es 2 veces más rápido, pero ese no es el punto)

 
A100:

Otro ejemplo de paréntesis innecesarios: en la búsqueda de paréntesisinnecesarios, te has saltado los necesarios

Has puesto demasiados paréntesis como "innecesarios". Si uno se pone como objetivo eliminar todos los paréntesis que pueda, para que el compilador no empiece a decir palabrotas, puede que tengas razón, pero este objetivo no vale cuando uno quiere escribir un código que sea a primera vista claro para él y para los demás (sobre todo teniendo en cuenta el doble resaltado de paréntesis en el editor).

 
Ilya Malev:

(No estoy seguro de esto))

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

Un error de compilación. ¿Qué se esperaba?

 
A100:

Fue un error de compilación. ¿Qué se esperaba?

Es sólo por su belleza. Hay 128 definiciones más adjuntas a esta definición para que funcione, pero mejor me ahorro a los lectores de la rama )))

 
Igor Makanu:

¡no son superfluas! ¡ayudan a leer la lógica de la formación de esta expresión!

Bueno, si te ayudan, que Dios te acompañe. Sólo que tu post hablaba de que "la brevedad es la hermana del talento". Por eso pregunto cómo se puede combinar esta afirmación con un exceso de paréntesis. No los necesito para entender la lógica. ¿Significa que tengo más talento? )
 
Alexey Navoykov:
No los necesito para entender la lógica. ¿Eso me hace más talentoso? )

Otro gol para los Adeptos: sí, les ganamos por goleada).

Razón de la queja: