Resultados de la búsqueda a petición "language-lawyer"

1 la respuesta

Comprender el ejemplo de conversión de valor a valor

Me cuesta entender cómo funciona este código (un ejemplo del borrador del estándar C ++ 14[conv.lval]) invoca un comportamiento indefinido parag(false). Por queconstexpr ¿Es válido el programa? Además, ¿qué quiere decir con "no accedey.n"? En ...

4 la respuesta

Escriba puntear una estructura en C y C ++ a través de una unión

He compilado esto en gcc y g ++ con pedante y no recibo ninguna advertencia en ninguno de los dos: #include <stdio.h> #include <stdlib.h> #include <string.h> struct a { struct a *next; int i; }; struct b { struct b *next; int i; }; struct c { ...

4 la respuesta

¿Los estándares C y C ++ implican que un valor especial en el espacio de direcciones debe existir únicamente para representar el valor de los punteros nulos?

Después de la discusión deesta pregunta [https://stackoverflow.com/q/28573215/1000282]sobre punteros nulos en C y C ++, me gustaría separar la pregunta final aquí. Si se puede inferir de los estándares C y C ++ (las respuestas pueden apuntar ...

1 la respuesta

¿Es UB desechar const y leer valor? [duplicar]

Esta pregunta ya tiene una respuesta aquí: ¿Eliminar const de un puntero a const obedece a un alias estricto en C y se refiere al mismo objeto? [/questions/14437699/does-removing-const-from-a-pointer-to-const-obey-strict-aliasing-in-c-and-refer] ...

3 la respuesta

¿Desreferenciar un puntero que es igual al comportamiento nulo definido por el estándar?

Un autor del blog ha planteado la discusión sobre la anulación de referencia de puntero nulo: http://www.viva64.com/en/b/0306/ [http://www.viva64.com/en/b/0306/]He puesto algunos argumentos en contra aquí: http://bit.ly/1L98GL4 ...

5 la respuesta

¿Es un comportamiento indefinido tomar la dirección de un puntero no inicializado?

N1570 afirma que este es un comportamiento indefinido: §J.2 / 1 El valor de un objeto con duración de almacenamiento automático se utiliza mientras es indeterminado (6.2.4, 6.7.9, 6.8). Y en este caso, nuestro puntero tiene un valor ...

2 la respuesta

¿Por qué la función declarada dentro de otra función no participa en la búsqueda dependiente del argumento?

Considere un ejemplo simple: template <class T> struct tag { }; int main() { auto foo = [](auto x) -> decltype(bar(x)) { return {}; }; tag<int> bar(tag<int>); bar(tag<int>{}); // <- compiles OK foo(tag<int>{}); // 'bar' was not declared in this ...

1 la respuesta

¿Puedo usar el resultado de un operador de conversión lambda constexpr sin captura de C ++ 17 como un argumento sin tipo de plantilla de puntero de función?

Mientras contesta¿Cómo escribo una expresión lambda que se parece a un método? [https://stackoverflow.com/questions/47604606/how-do-i-write-a-lambda-expression-that-looks-like-a-method] , Intenté convertir una lambda sin captura en un puntero de ...

1 la respuesta

¿Es legal verificar si la dirección de un subobjeto se encuentra dentro de los límites de un objeto que contiene

2 preguntas: ¿El siguiente código está bien formado con un comportamiento definido? ¿Hay alguna implementación posible de c ++ en la que se pueda afirmar? Código (c ++ 11 y superior): #include <cassert> #include <utility> #include <ciso646> ...

2 la respuesta

Fundición de referencia de valor r y materialización temporal

La salida para el siguiente código produce: void doit(const T1 &, const T2 &) [T1 = unsigned long, T2 = int] t1 == t2 t1 == (T1)t2 t1 != (T1&)t2 t1 == (T1&&)t2Entiendo que elt1 == t2 El caso es simplemente una promoción integral. El segundo ...