TGViewer
C++ Moscow C++ Moscow @cppmoscow_info · 448 subscribers
Post #105 2.03K
#article #original

Реализуем эффективный тупль с помощью C++26

Свет видел много любительских реализаций std::tuple, и реализация своих велосипедов — наверное, это действительно действенный способ обучения: вряд-ли можно сказать, что ты что-то по-настоящему понимаешь, если не можешь объяснить, как это что-то устроено.

Многие пытливые умы на протяжении десятилетий задавались вопросом: как же реализован std::tuple, как мне реализовать свой тупль (кортеж)? [1]

И немало было дано ответов на такие вопросы и написано статей ([2]). Однако я берусь утверждать, что все они имеют один фатальный недостаток! Конкретнее, они все рассматривают в основном лишь один (и при этом неэффективный) способ реализации: с помощью множественного наследования или рекурсивного инстанцирования, имеющий в свой очередь множество своих недостатков, главный из которых — неэффективное использование памяти.

В то время как современный C++ позволяет реализовать тупль гораздо проще (без обилия шаблоноты) и эффективнее.

Подробнее на Хабре
  • 🔥 10
  • 👍 4
  • ❤ 3
  • 👏 1
More from @cppmoscow_info
  1. Jul 14, 2024Интересный пример, когда объявление friend T (где T — шаблонный параметр) имеет смысл: tem…
  2. Jun 2, 2024#обсуждение Вечернее обсуждение. Пост от @eoanermine Кажется, будто C++ идёт не в том напр…
  3. Mar 1, 2024Спасибо всем зарегистрировавшимся, и до скорой встречи! Нам хотелось бы собрать как можно…
  4. Feb 27, 202420 марта: C++ митап в Петербурге и онлайне Нас ждет классический вечерний бесплатный митап…
  5. Feb 27, 2024Пока мы проводим митапы в Москве, наши коллеги из YADRO планируют митап в Санкт–Петербурге…
  6. Feb 18, 2024#meetup Первый неформальный митап C++ Moscow пройдет 3 марта (Вс) с 15:00 до 17:00–18:00 в…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →