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: C++-CONCEPTS

Comprendiendo la implementación del concepto move_constructible de C++.

Tengo la siguiente implementación del concepto de c++ move_constructible de cppreference. template<typename _Tp> concept move_constructible = constructible_from<_Tp, _Tp> && convertible_to<_Tp, _Tp>; No entiendo por qué funciona. Presumo que cualquier tipo se puede convertir a sí mismo, por lo que el segundo requisito es redundante (Dios, debo estar muy equivocado en . . . Read more

¿Es válido el autolanzamiento restringido?

Desde C++20, se introdujo el auto restringido a través de: c++ Concept auto identifier = init Lo que significa, por ejemplo: c++ std::integral auto x = 10; es válido. Además, para nuevas expresiones, se permite que el concepto se asocie con auto: c++ new Concept auto { expr }; // . . . Read more

¿Cuándo causa “requiere” un error del compilador?

Considere este código: struct Malo {}; int main() { static_assert(requires(int numero, Malo malo) { numero += malo; }); } Compilando con Clang 13 y -std=c++20, obtengo el siguiente error::5:48: error: invalid operands to binary expression (‘int’ and ‘Bad’) static_assert(requires(int n, Bad bad) { n += bad; }); ~ ^ ~~~ . . . Read more