CPLUSPLUC Telegram 1192
πŸ†• Анонс: Proxy 4 β€” Π½ΠΎΠ²Ρ‹ΠΉ шаг Π² C++-ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ΅

🟒 Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Proxy 4?
Proxy β€” это header-only, кроссплатформСнная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° C++20, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π±Π΅Π· наслСдования ΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ Windows с 2022 Π³ΠΎΠ΄Π° ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠ°ΠΊ зрСлая, готовая ΠΊ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Ρƒ тСхнология.

**Π§Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π² вСрсии 4?**
- Навыки (Skills): простоС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ возмоТностСй (format, fmt_format, rtti, as_view, slim ΠΈ Π΄Ρ€.) Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ фасадов.
- proxy_view ΠΈ weak_proxy: ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ для Π½Π΅Ρ„Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈ слабых ссылок.
- БовмСстноС Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅: Π½ΠΎΠ²Ρ‹Π΅ API make_proxy_shared ΠΈ allocate_proxy_shared ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ эффСктивноС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ Π±Π΅Π· overhead std::shared_ptr.
- Π£ΠΌΠ½Ρ‹ΠΉ диспСтчинг ΠΈ конвСрсии: возмоТности weak_dispatch, explicit_conversion_dispatch, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹Π΅ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, понятныС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚Ρ‹ proxiable_target, inplace_proxiable_target.
- РСкурсивныС фасады: facade_aware_overload_t позволяСт ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ рСкурсивныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΡƒ, ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡŽ) Π±Π΅Π· ΠΏΡ€Π΅ΠΆΠ΄Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ инстанциации.

ДокумСнтация Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π° Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½ΠΎΠΌ сайтС β€” удобная навигация, FAQ, API-справочник, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.
Π’Π°ΠΊΠΆΠ΅ доступСн ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ запуск Π² Compiler Explorer: ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Proxy прямо Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Π±Π΅Π· настройки срСды.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ?
- ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π±Π΅Π· наслСдования ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΎΠΊ: ΠΌΠ΅Π½Π΅Π΅ навязчиво, Π³ΠΈΠ±Ρ‡Π΅ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅.
- Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΆΠΈΠ·Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° владСния, заимствования ΠΈ слабых ссылок.
- Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сравнима ΠΈΠ»ΠΈ прСвосходит Ρ€ΡƒΡ‡Π½ΠΎΠΉ ΠΊΠΎΠ΄.
- Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ: ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΏΠΎΠ²Π΅Ρ€Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², конвСрсий ΠΈ Π΄Π°ΠΆΠ΅ кастомных абстракций.

Π§Ρ‚ΠΎ говорят Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ (reddit-ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ):
> β€œProxy library is like std::any … but adds runtime polymorphism without needing inheritance.”
> β€” TheFreestyler83

> β€œIt's like doing &something as &dyn Display in Rust… you can do type erasure like virtual interfaces, but without editing types.”
> β€” qalmakka

> β€œThey claim it's both easier and faster, but … ownership seems very unclear …”
> β€” Bart_V

РСзюмС
- Proxy 4 β€” Π½ΠΎΠ²Ρ‹ΠΉ стандарт для ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° Π² C++.
- Богатая ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° β€” Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π½Π°Π²Ρ‹ΠΊΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· фасады.
- Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹: докумСнтация, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² Compiler Explorer, Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ C++20 возмоТности.
- ΠŸΡ€ΠΈΠ·Π½Π°Π½ΠΈΠ΅ ΠΎΡ‚ сообщСства ΠΈ мноТСство способов примСнСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ заимствованиС ΠΈΠ΄Π΅ΠΉ ΠΈΠ· Rust.

🟠 Автор: Mingxin Wang, ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ Microsoft: devblogs.microsoft.com/cppblog/announcing-proxy-4-the-next-leap-in-c-polymorphism

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
❀6πŸ‘5πŸ”₯3



tgoop.com/cpluspluc/1192
Create:
Last Update:

πŸ†• Анонс: Proxy 4 β€” Π½ΠΎΠ²Ρ‹ΠΉ шаг Π² C++-ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ΅

🟒 Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Proxy 4?
Proxy β€” это header-only, кроссплатформСнная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° C++20, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π±Π΅Π· наслСдования ΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ Windows с 2022 Π³ΠΎΠ΄Π° ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠ°ΠΊ зрСлая, готовая ΠΊ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Ρƒ тСхнология.

**Π§Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π² вСрсии 4?**
- Навыки (Skills): простоС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ возмоТностСй (format, fmt_format, rtti, as_view, slim ΠΈ Π΄Ρ€.) Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ фасадов.
- proxy_view ΠΈ weak_proxy: ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ для Π½Π΅Ρ„Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈ слабых ссылок.
- БовмСстноС Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅: Π½ΠΎΠ²Ρ‹Π΅ API make_proxy_shared ΠΈ allocate_proxy_shared ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ эффСктивноС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ Π±Π΅Π· overhead std::shared_ptr.
- Π£ΠΌΠ½Ρ‹ΠΉ диспСтчинг ΠΈ конвСрсии: возмоТности weak_dispatch, explicit_conversion_dispatch, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹Π΅ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, понятныС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚Ρ‹ proxiable_target, inplace_proxiable_target.
- РСкурсивныС фасады: facade_aware_overload_t позволяСт ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ рСкурсивныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΡƒ, ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡŽ) Π±Π΅Π· ΠΏΡ€Π΅ΠΆΠ΄Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ инстанциации.

ДокумСнтация Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π° Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½ΠΎΠΌ сайтС β€” удобная навигация, FAQ, API-справочник, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.
Π’Π°ΠΊΠΆΠ΅ доступСн ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ запуск Π² Compiler Explorer: ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Proxy прямо Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Π±Π΅Π· настройки срСды.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ?
- ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π±Π΅Π· наслСдования ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΎΠΊ: ΠΌΠ΅Π½Π΅Π΅ навязчиво, Π³ΠΈΠ±Ρ‡Π΅ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅.
- Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΆΠΈΠ·Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° владСния, заимствования ΠΈ слабых ссылок.
- Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сравнима ΠΈΠ»ΠΈ прСвосходит Ρ€ΡƒΡ‡Π½ΠΎΠΉ ΠΊΠΎΠ΄.
- Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ: ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΏΠΎΠ²Π΅Ρ€Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², конвСрсий ΠΈ Π΄Π°ΠΆΠ΅ кастомных абстракций.

Π§Ρ‚ΠΎ говорят Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ (reddit-ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ):
> β€œProxy library is like std::any … but adds runtime polymorphism without needing inheritance.”
> β€” TheFreestyler83

> β€œIt's like doing &something as &dyn Display in Rust… you can do type erasure like virtual interfaces, but without editing types.”
> β€” qalmakka

> β€œThey claim it's both easier and faster, but … ownership seems very unclear …”
> β€” Bart_V

РСзюмС
- Proxy 4 β€” Π½ΠΎΠ²Ρ‹ΠΉ стандарт для ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° Π² C++.
- Богатая ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° β€” Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π½Π°Π²Ρ‹ΠΊΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· фасады.
- Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹: докумСнтация, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² Compiler Explorer, Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ C++20 возмоТности.
- ΠŸΡ€ΠΈΠ·Π½Π°Π½ΠΈΠ΅ ΠΎΡ‚ сообщСства ΠΈ мноТСство способов примСнСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ заимствованиС ΠΈΠ΄Π΅ΠΉ ΠΈΠ· Rust.

🟠 Автор: Mingxin Wang, ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ Microsoft: devblogs.microsoft.com/cppblog/announcing-proxy-4-the-next-leap-in-c-polymorphism

@cpluspluc

BY C++ Academy








Share with your friend now:
tgoop.com/cpluspluc/1192

View MORE
Open in Telegram


Telegram News

Date: |

Over 33,000 people sent out over 1,000 doxxing messages in the group. Although the administrators tried to delete all of the messages, the posting speed was far too much for them to keep up. A few years ago, you had to use a special bot to run a poll on Telegram. Now you can easily do that yourself in two clicks. Hit the Menu icon and select β€œCreate Poll.” Write your question and add up to 10 options. Running polls is a powerful strategy for getting feedback from your audience. If you’re considering the possibility of modifying your channel in any way, be sure to ask your subscribers’ opinions first. On Tuesday, some local media outlets included Sing Tao Daily cited sources as saying the Hong Kong government was considering restricting access to Telegram. Privacy Commissioner for Personal Data Ada Chung told to the Legislative Council on Monday that government officials, police and lawmakers remain the targets of β€œdoxxing” despite a privacy law amendment last year that criminalised the malicious disclosure of personal information. Just at this time, Bitcoin and the broader crypto market have dropped to new 2022 lows. The Bitcoin price has tanked 10 percent dropping to $20,000. On the other hand, the altcoin space is witnessing even more brutal correction. Bitcoin has dropped nearly 60 percent year-to-date and more than 70 percent since its all-time high in November 2021. Telegram channels enable users to broadcast messages to multiple users simultaneously. Like on social media, users need to subscribe to your channel to get access to your content published by one or more administrators.
from us


Telegram C++ Academy
FROM American