164 читали · 1 год назад
Шаблоны в C++
Шаблоны - это один из самых мощных и гибких инструментов в C++. Они позволяют создавать обобщенные алгоритмы и типы данных, которые могут работать с разными типами данных без необходимости создавать отдельные версии для каждого типа. Синтаксис шаблонов в C++ начинается с ключевого слова template, за которым следует список параметров шаблона в угловых скобках. Например, вот простой шаблон функции, который принимает два аргумента любого типа и возвращает их сумму: template <typename T> T sum(T a,...
06:44
1,0×
00:00/06:44
49,4 тыс смотрели · 3 года назад
2 года назад
Идиома CRTP и написание общих функций в C++
Источник: Nuances of Programming Что такое идиома CRTP? Термин CRTP (curiously recurring template pattern) появился в 1995 году в одноименной статье, написанной Джеймсом О. Коплином. Он предполагает специализацию базовых классов с использованием производных классов в качестве аргументов шаблона. Выглядит это так: template <typename T> class Base { public: void interface() { static_cast<T*>(this)->implementation(); }; }; class Derived : public Base<Derived> { public: void implementation()...