Плюсы особо не учил, и не видел в них для себя перспективы. Но чет щас зашел на ХХ и выпал с первой же вакансии

Нажмите, чтобы раскрыть...
ну контролеры ваще не, там и половины дичи которая мне нравится нет, а то и прямо запрещено использовать 
я не особо плюсовик, но из прикольных вещей писал короче type erasure wrapper для итераторов, в качестве лабораторки
ну точнее нас такое не просили, это я просто очень упоротый и ленивый 
аля any_iterator<V, std::input_iterator_tag>, что бывает очень полезно, когда ты хочешь возвращать что угодно в качестве итератора из класса, потому что хочешь их на ходу из других лепить (накладывать тарнсформации, фильтровать и прочей мутью заниматься)
потом для нескольких задач сразу эту фигню использовал, экономя время на том, что теперь можно было без зазрения совести переиспользовать готовые итераторы, просто обернув их и выплюнув
когда же приходилось генерировать на лету разные контейнеры и помещать их за std::shared_ptr в каждом итераторе, или наслоенные выражения из итераторов, аля join-ы всякие, фильтры и прочее, то выплёвывал их соответственно 
либо наоборот принять произвольную коллекцию пар итераторов и забыть о том, что они какого-то там конкретного типа были изначально, потому что нам важно на самом деле только поведение, duck typing такой короче 
кажись один слой оверхеда, но на самом деле по скорости я вырос, потому что мог менять стратегию в зависимости от запроса и избегать как таковых копирований на чтениях
есть ряд алгосиков, которые в зависимости от параметров могут иметь разные оптимальные стратегии
аля при n < m² один алгоритм, а далее другой