language-lawyer

¿Un vector moved-from siempre está vacío?

Sé que generalmente el estándar coloca pocos requisitos en los valores que se han movido de: N3485 17.6.5.15 [lib.tipo.move ... ¿Hay algún estándar que implique esto que me falta o es similar a tratando basic_string como un buffer contiguo en C++03?

Diferencias de resolución de llamadas de plantilla GCC y Clang

Dado el siguiente código: #include <iostream> struct Alice { template <typename A> void operator|(const A&a ... el no miembro en su lugar, si -std=c++11 es no especificado. EDITAR: ICC 14.0 prefiere no miembro, sin advertencia emitida.

¿Por qué esta es una asignación inválida del lado izquierdo?

¿Por qué puedo hacer las siguientes operaciones: var b1, b2; b1 = b2 = true; document.write(b1," ", b2); docum ... lmente como se ha demostrado, entonces, ¿por qué no se puede combinar esto en una operación singular / asignación en cadena?

Cast incorrecto - es el cast o el uso que es un comportamiento indefinido

Si hago un cast de una Base a un tipo Derivado, pero el tipo Base no es una instancia de tipo derivado, sino que solo uso el ... e puedo usar dynamic_cast y RTTI, y probablemente este no es un gran código, pero estoy más interesado en si esto es válido)

¿Hay implementaciones de C que no sean complementos de dos?

Como todos sin duda sabemos, el estándar ISO C (y C++ también, creo, aunque estoy más interesado en el lado C) permite tres r ... hace cincuenta años (y cuáles son)? Parece un poco derrochador mantener algo en un estándar para máquinas que ya no existen.

¿Cómo puedo especificar un literal entero de tipo unsigned char en C++?

Puedo especificar un literal entero de tipo unsigned long de la siguiente manera: const unsigned long example = 9UL; ¿Có ... que llama a min sin declarar 9 en una variable en una línea separada: min(static_cast<unsigned char>(9), example2);

¿Está permitida la inicialización escalar de doble refuerzo por el estándar C++?

Tengo el siguiente código: int x = {{}}; ¿Es válida esta sintaxis de acuerdo con el estándar C++? (Estoy interesado en C+ ... os (por ejemplo, GCC 4.8.5) da el siguiente error: Error: llaves alrededor del inicializador escalar para el tipo 'int'

¿UINT MAX tiene todos los bits configurados en 1?

Esta pregunta se hace antes, pero todavía estoy confundido. Sé que unsigned int a = -1; Sería UINT_MAX. Pero no es porqu ... olo dice UINT_MAX >= 2^16-1. ¿Pero dice en algún lugar que debería ser 2^n-1? ¿También es diferente la respuesta en C++?

¿Cuál fue la razón para hacer que `return 0` al final de `main` sea opcional?

Comenzando con el estándar C99, se requiere que el compilador genere el equivalente de un return 0 o return EXIT_SUCCESSsi no ... uería asegurarse de que entiendo por qué existe esta característica para que pueda explicar con precisión su uso a los demás.

¿Cuál fue la razón de diseño para hacer que el vacío no fuera un tipo primitivo?

Cuando se utiliza reflexión Type.IsPrimitive en un tipo void devuelve false.Viniendo de un fondo de C++ esto fue sorprendente ... e o de otra manera que categorice void como algo más. ¿O cualquier otra discusión o tal que mencione la razón detrás de esto?

C forma compatible con el estándar para acceder a la dirección del puntero nulo?

En C, diferir el puntero null es un Comportamiento Indefinido, sin embargo, el valor del puntero null tiene una representac ... ne que decir sobre esto, NO cómo lograr esto de una manera definida por la implementación. Sé la respuesta para esto último.

¿En qué versiones del estándar C++ "(i+ = 10)+=10" tiene un comportamiento indefinido?

En C++, lo siguiente tiene un comportamiento indefinido: int i = 0; (i+=10)+=10; Hubo cierto debate sobre esto en los com ... depende de la versión del estándar C++". Si depende de la versión del estándar, por favor explique dónde está UB y dónde no.

¿memcpy(&a + 1, &b + 1, 0) está definido en C11?

Esta pregunta sigue a esta pregunta anterior sobre la definición de memcpy(0, 0, 0), que se ha determinado concluyentemente q ... ular es equivalente a true cuando n es 0, y no captura el comportamiento indefinido en el que se basa GCC 4.9 para optimizar.

¿Puede ptrdiff t representar todas las sustracciones de punteros a elementos del mismo objeto array?

Para la resta de punteros i y j a elementos del mismo objeto array la nota en [expr.añadir#5] dice: [ Nota: Si el valo ... r mi pobre comprensión del idioma inglés. EDITAR: Relacionado: ¿Por qué el tamaño máximo de un array es "demasiado grande"?

Es el tamaño de std::array definido por standard

En C++11 std::array se define para tener almacenamiento contiguo y rendimiento que no es peor que un array, pero no puedo dec ... tiguo implicaría que debe tener un diseño de memoria idéntico. Sin embargo, no puedo encontrar este requisito en el estándar.

Parece haber una contradicción en §12.3.2/1 en el estándar C++11

Norma C++11 §12.3.2 / 1 (énfasis mío): Una función miembro de una clase X sin parámetros con un nombre de la forma ... g conversion-type-id". Es una función de conversión siempre una función miembro, o ¿hay casos en los que esto no es cierto?

¿Es definitivamente ilegal referirse a un nombre reservado?

En la lista std-proposals, se dio el siguiente código: #include <vector> #include <algorithm> void foo(const s ... re? O probablemente no pretende ser tan estricto (lo que puede apuntar a una oportunidad para ajustar la redacción estándar)?

La forma más eficiente de reinterpretar int como float

Supongamos que tengo garantías de que float es IEEE 754 binary32. Dado un patrón de bits que corresponde a un flotador válido ... ¿Estoy en lo cierto hasta ahora? ¿Hay una mejor manera de hacer esto, en particular una que garantice una sola carga/tienda?

¿Cuál es exactamente el" contexto inmediato " mencionado en el estándar C++11 para el que se aplica SFINAE?

El párrafo 14.8.2 / 8 del estándar C++11 especifica las condiciones bajo las cuales una falla de sustitución resultará o no e ... o ocurre un error de sustitución en el "contexto inmediato " de ¿el tipo de función y sus tipos de parámetros de plantilla?

Mejorado para compilación de bucle fino para JDK 8 pero no 7

Considere el siguiente fragmento de código, me topé con después de un poco de refactorización, al comprobar por qué el servid ... . Pero de todos modos, gracias por las ideas que he recibido y las grandes respuestas (que me hizo difícil elegir la mejor).