es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tag: LANGUAGE-LAWYER

Asignación de valor a un literal entero.

Cada vez que un valor prvalue aparece como operando de un operador que espera un glvalue para ese operando, se aplica la conversión de materialización temporal para convertir la expresión a un xvalue. Fuente: https://eel.is/c++draft/basic.lval#7 ¿Por qué 5 = 6 es inválido? ¿No debería realizar una conversión de materialización temporal . . . Read more

¿Se garantiza que los argumentos de las operaciones unarias y binarias sean iguales a los datos originales si se pasan por referencia?

Como sabes, podemos proporcionar UnaryOperation y BinaryOperation para muchas funciones de STL. Los argumentos de estos métodos pueden ser definidos por valor, pero en muchos casos, los pasamos por referencia de la siguiente manera: Ret fun(const Type &a); // UnaryOperation Ret fun(const Type1 &a, const Type2 &b); // BinaryOperation Ahora . . . Read more

C11 (y posteriores) no impone ningún requisito sobre la elevación de excepciones de punto flotante para varios operadores si no se admite el Anexo F.

Considere que el Anexo F no es compatible y que una implementación no sigue el IEEE 754. Entonces, ¿cuáles son los requisitos de C11 para elevar excepciones de punto flotante para estos operadores? Operadores de igualdad: == != Operadores relacionales: > >= < <= No puedo encontrar tales requisitos, ¿significa . . . Read more

Variación de compilador en la deducción de argumentos de plantilla de función.

El siguiente programa: #include <type_traits> template<typename t,=”” bool=”” b=””> struct S{ S() = default; template<bool sfinae=”true,” typename=””></bool><sfinae &&=””></sfinae><t>::value>> operator S<t const,=”” b=””>() { return S<t const,=”” b=””>{}; } }; template<typename t,=”” bool=”” b1,=”” bool=”” b2=””> void f(S<const></const><t>, b1>, S<t, b2=””>) {} int main() { S<int, true=””> s1{}; S<int, false=””> s2{}; . . . Read more