C++ and other lectures
Учебный канал в Телеграм: тут будут анонсы и ссылки на лекции и стримы. Написать автору: @Tilir Boosty автора: https://boosty.to/cpp_lects_rus
نمایش بیشتر📈 تحلیل کانال تلگرام C++ and other lectures
کانال C++ and other lectures (@cpp_lects_rus) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 10 014 مشترک است و جایگاه 12 157 را در دسته فناوری و برنامهها و رتبه 63 447 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 10 014 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 27 اکتبر, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر 52 و در ۲۴ ساعت گذشته برابر 4 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 87.99% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 33.73% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 8 812 بازدید دریافت میکند. در اولین روز معمولاً 3 378 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 98 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند компилятор, c++, llvm, struct, compilers تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“Учебный канал в Телеграм: тут будут анонсы и ссылки на лекции и стримы.
Написать автору: @Tilir
Boosty автора: https://boosty.to/cpp_lects_rus”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 28 اکتبر, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامهها تبدیل کردهاند.
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