C++ and other lectures
Учебный канал в Телеграм: тут будут анонсы и ссылки на лекции и стримы. Написать автору: @Tilir Boosty автора: https://boosty.to/cpp_lects_rus
Ko'proq ko'rsatish📈 Telegram kanali C++ and other lectures analitikasi
C++ and other lectures (@cpp_lects_rus) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 10 015 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 12 157-o'rinni va Rossiya mintaqasida 63 447-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 10 015 obunachiga ega bo‘ldi.
27 Oktabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 52 ga, so‘nggi 24 soatda esa 4 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 87.99% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 33.73% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 8 812 marta ko‘riladi; birinchi sutkada odatda 3 378 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 98 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent компилятор, c++, llvm, struct, compilers kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Учебный канал в Телеграм: тут будут анонсы и ссылки на лекции и стримы.
Написать автору: @Tilir
Boosty автора: https://boosty.to/cpp_lects_rus”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 28 Oktabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
template <typename T> int foo() { return 1; }
template <> int foo<int>() { return 2; }
template <> int foo<float>() { return 4; }
И функция sumfoos которая подставляет по ним пачку типов и как-то её сворачивает. Ну скажем складывает.
template <typename ...T>
int sumfoos() { return (foo<T>() + ...); }
Вы хотели бы написать шаблон функции apply_sumfoos с вот такой сигнатурой
template <typename Tuple> auto apply_sumfoos();
Идея в том что он принимает кортеж, разворачивает его и для его содержимого вызывает sumfoos.
std::tuple<int, float, double> t;
assert(apply_sumfoos<decltype(t)>() == 7);
Можно предложить кривой и косой, уродливый как черт с рогами, но рабочий вариант с dummy-аргументом.
https://godbolt.org/z/zxY1qf9hT
Но это не наш метод. Я утверждаю что есть более красивые способы (и даже можно обойтись без сворачивания с index sequence).
Наливайте себе чаю с булочкой или пивка с орешками и подключайтесь. Попробуйте придумать как это решали бы вы, а потом смотрите в комментарии и ставьте лайки лучшим вариантам. Ну и если вашего там не будет — смело постите. Если никто не угадает мой вариант, скажу его завтра.
UPD: мой вариант вычислили за 20 минут. Горжусь своим каналом ))
UPD2: выношу из комментариев самые интересные варианты.
0. Просто уход от nullptr за счёт type_identity, но всё ещё dummy arg https://godbolt.org/z/P41eeTcfK via @PaRat07
1. Биндинг свёртки: https://godbolt.org/z/85EhzdWve совместно @savvatelegram и @xray_3d
2. Рефлексия: https://godbolt.org/z/Pdqd75nxq via @xray_3d
3. Вывод типов и deduction guides: https://godbolt.org/z/6zTT6M8zh via @redPergament
3a. Его разновидность через оператор приведения: https://godbolt.org/z/cTh1W3r3e от него же
4. Hana-style (я добавил к решению подписчика пару consteval потому что смог): https://godbolt.org/z/GxcqKnWMK via @n13625124998637487500
4a. Его очень красивая и лакончиная разновидность через decltype (я тоже добавил consteval от себя) https://godbolt.org/z/zjErr58zz via @alamat1
5. Виртуозный std::apply https://godbolt.org/z/Ydd5e86oP via @savvatelegram
6. Сохранение промежуточного адреса инстанцированной функции https://godbolt.org/z/racKGYnW1 опять @xray_3d
7. in_place_type подход https://godbolt.org/z/Gq9G9n773 via @alamat1
Ну и самый наивный вариант: https://godbolt.org/z/48jnhKz45 здесь в редакции @ePilnikoff но вообще до него многие дошли и он совпадает с моим решением.
Наивный вариант очень интересно улучшил @s_i_g_a до состояния https://godbolt.org/z/GePnj8qE1 чтобы функция принимала любой tuple-like тип вроде того же std::array. Понятно что так можно улучшить каждый из предложенных вариантов.
Итого мы с вами нашли десять нетривиальных и принципиально разных способов добиться цели. Очень круто.
#questions