Resultados de la búsqueda a petición "language-lawyer"
¿Incrementar un puntero nulo está bien definido?
Hay muchos ejemplos de comportamiento indefinido / no especificado al hacer aritmética de punteros: los punteros deben apuntar dentro de la misma matriz (o uno más allá del final), o dentro del mismo objeto, restricciones sobre cuándo puede hacer ...
Puede un comportamiento indefinido que seguiría a un getc () alterar el comportamiento del programa si getc () sale a través de SIGINT
Bajo las interpretaciones modernas de "Comportamiento indefinido", un compilador tiene derecho a suponer que no ocurrirá una cadena de eventos que causaría que el comportamiento indefinido sea "inevitable", y puede eliminar el código que solo ...
No puedo entender la declaración n. ° 3 en el Ejemplo de [basic.link] / 6 C ++ 14
[enlace.básico] / 6 El nombre de una función declarada en el alcance del bloque y el nombre de una variable declarada por un alcance del bloqueextern declaración tiene vinculación. Si hay unvisibledeclaración de una entidad con vinculación ...
Búsqueda de nombres ambiguos con la directiva using
No está permitido poner un espacio de nombres y una clase con el mismo nombre en una región declarativa, es decir namespace A {} class A{};está mal formado [http://coliru.stacked-crooked.com/a/5b837907b4d0609c](Ver §3.3.1 / 4). Sin embargo, uno ...
¿Puede argc ser cero en un sistema POSIX?
Dada la definición estándar para el programa principal: int main(int argc, char *argv[]) { ... }¿Bajo qué circunstancias puedenargc ser cero en un sistema POSIX?
Advertencia de C ++ 14: demasiados encabezados de plantilla para la variable (debe ser 0)
Mientras experimentaba con el reciente compilador g ++ - 5, escribí la siguiente declaración en un archivo: template<T> T a; template<> int a = 1;Lo que resulta en: advertencia: demasiados encabezados de plantilla paraa (debe ser 0) También ...
static_assert depende del parámetro de plantilla sin tipo (comportamiento diferente en gcc y clang)
template <int answer> struct Hitchhiker { static_assert(sizeof(answer) != sizeof(answer), "Invalid answer"); }; template <> struct Hitchhiker<42> {};Al intentar deshabilitar la creación de instancias de plantilla general constatic_assert Descubrí ...
"Construir" un objeto trivialmente copiable con memcpy
En C ++, ¿es correcto este código? #include <cstdlib> #include <cstring> struct T // trivially copyable type { int x, y; }; int main() { void *buf = std::malloc( sizeof(T) ); if ( !buf ) return 0; T a{}; std::memcpy(buf, &a, sizeof a); T *b = ...
¿Qué comprueba un compilador para el código de plantilla desinstalado?
Por ejemplo, el siguiente código compila con gcc-4.9 y clang-602 class Base { public: static void foo() {} void badfoo(int i) {} }; template <typename T> class Derived : public Base { public: void bar() { Base::foo(); } void badbar() { ...
Problema con std :: reference_wrapper
El problema está claro con el siguiente código: #include <functional> #include <iostream> #include <vector> int main() { //std::vector<int> a, b; int a = 0, b = 0; auto refa = std::ref(a); auto refb = std::ref(b); std::cout << (refa < refb) << ...