В многопоточных приложениях иногда требуется лениво инициализировать ресурсы, гарантируя, что это произойдет только один раз, даже если несколько потоков пытаются сделать это одновременно.
std::call_once
.Please open Telegram to view this post
VIEW IN TELEGRAM
•
Параметром шаблона могут быть конкретные целые числа.•
Параметром шаблона также могут быть конкретные функции.•
Это позволяет компилятору встраивать вызовы для этих функций в коде инстанцированного шаблона для более эффективного выполнения.•
В примере ниже, функция memoize()
в качестве шаблонного параметра получает функцию и вызывает эту функцию для новых значений аргумента.•
Старое сохранённое значение аргумента берётся из кеша.Please open Telegram to view this post
VIEW IN TELEGRAM
Итераторы-адаптеры - это классы, которые оборачивают стандартные итераторы и предоставляют дополнительные возможности или изменяют их поведение.
•
Итераторы-адаптеры предоставляют дополнительные возможности для работы с итераторами, такие как итерация в обратном порядке или фильтрация элементов.•
Использование итераторов-адаптеров позволяет упростить код и делает его более читаемым за счет высокоуровневого интерфейса.•
Итераторы-адаптеры добавляют гибкость в работу с контейнерами, позволяя выполнять сложные операции и манипуляции с элементами.Please open Telegram to view this post
VIEW IN TELEGRAM
•
Использование private и public при наследовании в C++ позволяет контролировать доступ к членам базового класса в производных классах.•
Это может быть полезно для сокрытия частей реализации базового класса от внешнего мира или ограничения доступа к членам в иерархии классов.•
Эта фишка особенно полезна при проектировании классов и их взаимодействия, позволяя более гибко управлять доступом к данным и методам в рамках наследования.Please open Telegram to view this post
VIEW IN TELEGRAM
•
Типобезопасные перечисления, которые решают множество проблем с C-перечислениями, включая неявные преобразования, арифметические операции, невозможность указать базовый тип, загрязнение области видимости и т.д.Please open Telegram to view this post
VIEW IN TELEGRAM