Común · Saberes
Conceptos (C++)
Los conceptos permiten al desarrollador expresar las restricciones de tipos de un componente plantillado, de modo que el compilador puede comprender la intención del desarrollador y de ese modo señalar el error de manera clara en el punto donde se comete. De este modo los conceptos se convierten en una manera de especificar más clara y puntillosamente, tanto para el programador como para el compilador, qué tipos se pueden usar con un componente plantillado.
Leer más
Los conceptos son una extensión de la programación plantillada del lenguaje de programación C++ introducida en la versión C++20. Los conceptos son predicados booleanos con nombre, sobre parámetros de plantilla, evaluados en tiempo de compilación. Un concepto se puede asociar a una plantilla (plantilla de clase, plantilla de función, o función miembro de una clase plantillada), donde actúa como limitación: restringe los tipos aceptados por la plantilla. Un concepto es una descripción de los requerimientos de un tipo o clase particular. En orientación a objetos, un concepto es similar a una interfaz, con la siguiente diferencia importante: mientras que la interfaz debe ser explicitada en la clase que la implementa, un concepto es más flexible y puede ser reconocido en una clase sin necesidad de que ésta lo explicite. Esto permite definir nuevos conceptos compatibles con clases preexistentes, sin necesidad de adaptarlas. El término concepto está íntimamente asociado a C++. La idea general se descubre en otros lenguajes, con otros nombres: C# y Java emplean interfaces; Haskell emplea type classes.
Texto: Wikipédia, CC BY-SA 4.0. ·