Preguntas etiquetadas con language-lawyer

Para preguntas sobre las complejidades de las especificaciones formales o autorizadas de los lenguajes y entornos de programación.

4
¿Se garantiza que sea seguro realizar memcpy (0,0,0)?
No conozco muy bien el estándar C, así que tengan paciencia conmigo. Me gustaría saber si está garantizado, según el estándar, que memcpy(0,0,0)es seguro. La única restricción que pude encontrar es que si las regiones de memoria se superponen, entonces el comportamiento no está definido ... Pero, ¿podemos considerar que …



10
¿Cuál es el tamaño del vacío?
¿Qué produciría esta declaración? void *p = malloc(sizeof(void)); Editar: una extensión de la pregunta. Si sizeof (void) produce 1 en el compilador GCC, entonces se asigna 1 byte de memoria y el puntero p apunta a ese byte y ¿se incrementaría p ++ a 0x2346? Suponga que p fuera 0x2345. …






3
C ++ decltype y paréntesis: ¿por qué?
El tema se discutió antes , pero esto no es un duplicado. Cuando alguien pregunta sobre la diferencia entre decltype(a)y decltype((a)), la respuesta habitual es: aes una variable, (a)es una expresión. Encuentro esta respuesta insatisfactoria. Primero, aes una expresión también. Las opciones para una expresión primaria incluyen, entre otras: ( …


2
¿Por qué la gramática BNF de C permite declaraciones con una secuencia vacía de declaradores de inicio?
Al mirar la gramática BNF de C, pensé que era extraño que la regla de producción para una declaración se viera así (de acuerdo con https://cs.wmich.edu/~gupta/teaching/cs4850/sumII06/The%20syntax%20of% 20C% 20in% 20Backus-Naur% 20form.htm ): <declaration> ::= {<declaration-specifier>}+ {<init-declarator>}* ; ¿Por qué usar un *cuantificador (que significa cero o más ocurrencias) para el init-declarator? …




Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.