Концепция (C++)
интерфейсное расширение шаблонов языка C++ / Материал из Википедии — свободной encyclopedia
Уважаемый Wikiwand AI, давайте упростим задачу, просто ответив на эти ключевые вопросы:
Перечислите основные факты и статистические данные о Концепция (C++)?
Кратко изложите эту статью для 10-летнего ребёнка
Концепция — интерфейсное расширение шаблонов языка C++, опубликованное в технической спецификации ИСО/МЭК ISO TS 19217:2015[1]. По своей сути концепция является набором логических предикатов, размещённых за списком параметров шаблона, которые оцениваются во время компиляции исходного кода с целью установления ограничений на свойства аргументов, которые принимаются в качестве параметров шаблона[2].
Введение концепций связывают с дальнейшим развитием в языке C++ инструментария, основанного на парадигме обобщённого программирования[2]. Концепция может быть объявлена с шаблоном любого вида (класс-шаблон, шаблон-функция, или функция-член класса-шаблона), eё назначением является выявление логических несоответствий между свойствами типов данных, которые используются внутри тела шаблона и свойствами типов данных, которые поступают в шаблон в качестве входных параметров[2][3].
До введения в стандарт языка понятие концепции было реализовано в библиотеке общего назначения Boost в виде библиотечных классов проверки концепций BCCL (англ. Boost Concept Checking Library)[4].