Resultados de la búsqueda a petición "language-lawyer"
Alias de matrices a través de estructuras
Estoy leyendo el párrafo 7 de 6.5 en ISO / IEC 9899: TC2. Condonar el acceso de valor a un objeto a través de: un tipo agregado o de unión que incluye uno de los tipos antes mencionados entre sus miembros (incluido, recursivamente, un miembro ...
Argumento predeterminado frente a sobrecargas en C ++
Por ejemplo, en lugar de void shared_ptr::reset() noexcept; template <typename Y> void shared_ptr::reset(Y* ptr);uno puede pensar en template <typename Y = T> void shared_ptr::reset(Y* ptr = nullptr);Creo que la diferencia de rendimiento es ...
¿Cuál es el significado de esta parte de Standardese sobre use_count () de shared_ptr?
Al tratar de entender el problema que se muestra enesta pregunta [https://stackoverflow.com/questions/28111666/why-is-stdweak-ptrexpired-optimized-away?noredirect=1#comment44599229_28111666] Me encontré atrapado en la siguiente oración de ...
Operadores bit a bit y tipos firmados
Estoy leyendo C ++ Primer y estoy un poco confundido por algunos comentarios que hablan sobre cómo los operadores de Bitwise manejan los tipos firmados. Citaré: Cita # 1 (Cuando se habla de operadores bit a bit) "Si el operando está firmado y ...
¿Por qué la plantilla-id en "A <0> = 0" no se compila sin espacio debido al operador mayor o igual que "> ="?
template <int> using A = int; void f(A<0>=0); // Attempting to declare a function f taking int, // with the default argument 0 // Works as expected: // void f(A<0> = 0);Esto tampoco se compila enGCC 4.9.2 ni Clang ...
Estructura de alias y matriz de forma conforme
En los viejos tiempos de pre-ISO C, el siguiente código no habría sorprendido a nadie: struct Point { double x; double y; double z; }; double dist(struct Point *p1, struct Point *p2) { double d2 = 0; double *coord1 = &p1.x; double *coord2 ...
¿Es legal alias una estructura y una matriz?
La aritmética de puntero entre miembros consecutivos del mismo tipo en una estructura solía ser una práctica común, mientras que la aritmética de puntero solo es válida dentro de una matriz. En C ++, sería explícitamente Comportamiento indefinido ...
¿* & ++ i causa un comportamiento indefinido en C ++ 03?
Enotra respuesta [https://stackoverflow.com/a/17400329/1505939]se dijo que antes de C ++ 11, dondei es unint, luego uso de la expresión: *&++iCausó un comportamiento indefinido. ¿Es esto cierto? En la otra respuesta hubo una pequeña discusión ...
¿Es el nombre de plantilla <TT> un contexto deducido?
[temp.deduct.type] párrafo 8 [http://eel.is/c++draft/temp.deduct.type#8]enumera todos los contextos deducidos, pero parece no incluirtemplate-name<TT> dóndetemplate-name se refiere a una plantilla de clase yTT se refiere a un argumento de ...
Acceso ++ a miembros estáticos usando puntero nulo
Recientemente probé el siguiente programa y compila, funciona bien y produce la salida esperada en lugar de cualquier error de tiempo de ejecución. #include <iostream> class demo { public: static void fun() { std::cout<<"fun() is called\n"; } ...