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

1 la respuesta

¿Ha cambiado el estándar C ++ con respecto al uso de valores indeterminados y comportamiento indefinido en C ++ 14?

Como cubierto en¿La inicialización implica la conversión de valor a valor? Esint x = x; UB? [https://stackoverflow.com/questions/14935722/does-initialization-entail-lvalue-to-rvalue-conversion-is-int-x-x-ub] el estándar C ++ tiene un ejemplo ...

3 la respuesta

¿Se utiliza necesariamente una matriz constexpr cuando se suscribe?

Dado el siguiente código: struct A { static constexpr int a[3] = {1,2,3}; }; int main () { int a = A::a[0]; int b [A::a[1]]; }esA::a ...

4 la respuesta

¿Es std :: vector <T> un `tipo definido por el usuario`?

En 17.6.4.2.1 / 1 y 17.6.4.2.1 / 2 de laproyecto de norma actual [https://isocpp.org/files/papers/N3797.pdf]se imponen restricciones a las especializaciones inyectadas por los usuarios ennamespace std. El comportamiento de un programa C ++ no ...

1 la respuesta

¿Por qué el intercambio de contenedores de biblioteca estándar puede ser problemático en C ++ 11 (que involucra asignadores)?

Nota:Originalmente preguntado ...

2 la respuesta

¿Por qué permitir `propagate_on_container_swap == false` en Allocators, cuando puede causar un comportamiento indefinido?

Nota:Originalmente preguntado porMatt Mcnabb [https://stackoverflow.com/users/1505939/matt-mcnabb]como ...

3 la respuesta

C ++ Usando una referencia a la variable que se define

¿Es válido el siguiente código C ++, de acuerdo con el estándar (descontando los ... s)? bool f(T& r) { if(...) { r = ...; return true; } return false; } T x = (f(x) ? x : T());Se sabe que compila en las versiones de GCC que utiliza este ...

4 la respuesta

¿Es realmente necesario std :: move en la lista de inicialización del constructor para miembros pesados pasados por valor?

Recientemente leí un ejemplo decppreference ... / vector / emplace_back [http://en.cppreference.com/w/cpp/container/vector/emplace_back]: struct President { std::string name; std::string country; int year; President(std::string p_name, ...

1 la respuesta

Extender la vida útil temporal a través de rvalue data-member funciona con el agregado, pero no con el constructor, ¿por qué?

He encontrado que el siguiente esquema para extender un trabajo temporal de por vida funciona, no sé si debería, pero lo hace. struct S { std::vector<int>&& vec; }; int main() { S s1{std::vector<int>(5)}; // construct with temporary std::cout << ...

2 la respuesta

Inicialización de valor C ++ 14 con constructor eliminado

Tengo algunos malentendidos: Marquemos el constructor predeterminado de la estructura A como eliminado: struct A { A() = delete; };La siguiente instrucción está bien formada y ¿cuál es ese efecto ?: A a{};Decppreferencevalor de ...

2 la respuesta

¿Cuándo se aplica ADL?

Hay 3 ejemplos: YO. typedef int foo; namespace B { struct S { operator int(){ return 24; } }; int foo(B::S s){ return 0; } } int main() { int t=foo(B::S()); //24, ADL does not apply }II namespace B { struct S { operator int(){ return 24; } }; ...