en
Feedback
Senior C++ Developer

Senior C++ Developer

Open in Telegram

Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ C++. По вопросам сотрудничСства: @adv_and_pr РКН: https://www.gosuslugi.ru/snet/676e9a1e4e740947beca35ba

Show more

πŸ“ˆ Analytical overview of Telegram channel Senior C++ Developer

Channel Senior C++ Developer (@seniorcpp) in the Russian language segment is an active participant. Currently, the community unites 11 657 subscribers, ranking 10 355 in the Technologies & Applications category and 55 017 in the Russia region.

πŸ“Š Audience metrics and dynamics

Since its creation on Π½Π΅Π²Ρ–Π΄ΠΎΠΌΠΎ, the project has demonstrated rapid growth, gathering an audience of 11 657 subscribers.

According to the latest data from 27 August, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -64 over the last 30 days and by -2 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 10.40%. Within the first 24 hours after publication, content typically collects 4.64% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 1 213 views. Within the first day, a publication typically gains 541 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 0.
  • Thematic interests: Content is focused on key topics such as c++, ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, git, true.

πŸ“ Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
β€œΠ˜Π·ΡƒΡ‡Π°Π΅ΠΌ C++. По вопросам сотрудничСства: @adv_and_pr РКН: https://www.gosuslugi.ru/snet/676e9a1e4e740947beca35ba”

Thanks to the high frequency of updates (latest data received on 28 August, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

11 657
Subscribers
-224 hours
-167 days
-6430 days
Posts Archive
Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π΄Π²Π° ΠΈ Π±ΠΎΠ»Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ s
Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π΄Π²Π° ΠΈ Π±ΠΎΠ»Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ std::tuple ΠΈ std::tie.

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² C++: Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, спСцификации, Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΈ Данная ΡΡ‚Π°Ρ‚ΡŒΡ большС ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΌ программистам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят Π³Π»ΡƒΠ±ΠΆΠ΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Ρ‚Π΅ΠΌΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ

ПишСм свой парсСр матСматичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² Π‘++ Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ Pac-Man Π½Π° C++ Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎ

ΠœΠ΅Ρ‚ΠΎΠ΄ map::emplace_hint АналогичСн ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ emplace(), Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ позволяСт ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ вставки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€
ΠœΠ΅Ρ‚ΠΎΠ΄ map::emplace_hint АналогичСн ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ emplace(), Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ позволяСт ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ вставки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°. ΠœΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π° вставлСнный элСмСнт ΠΈΠ»ΠΈ Π½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт (Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ элСмСнт с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ нСльзя).

ΠœΠ΅Ρ‚ΠΎΠ΄ map::emplace_hint АналогичСн ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ emplace(), Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ позволяСт ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ вставки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€
ΠœΠ΅Ρ‚ΠΎΠ΄ map::emplace_hint АналогичСн ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ emplace(), Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ позволяСт ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ вставки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°. ΠœΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π° вставлСнный элСмСнт ΠΈΠ»ΠΈ Π½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт (Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ элСмСнт с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ нСльзя).

ВстраиваСмыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ВстраиваСмыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (inline functions) ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·
ВстраиваСмыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ВстраиваСмыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (inline functions) ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт компилятору Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ нСпосрСдствСнно Π² мСсто Π΅Ρ‘ Π²Ρ‹Π·ΠΎΠ²Π°, вмСсто фактичСского Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, особСнно для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. #для_Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

static_assert static_assert β€” это ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π² C++, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° этапС компиляции для статичСских ус
static_assert static_assert β€” это ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π² C++, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° этапС компиляции для статичСских условий. Он Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² стандарт C++11 ΠΈ прСдоставляСт способ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ условиС истинно Π²ΠΎ врСмя компиляции. Если условиС Π»ΠΎΠΆΠ½ΠΎ, компиляция Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ ошибкой. #для_Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° define Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° define ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания макросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ константы ΠΈΠ»ΠΈ
Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° define Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° define ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания макросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ константы ΠΈΠ»ΠΈ нСбольшиС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ компилятором Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π΄ компиляциСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΎ прСдставляСт собой Ρ„ΠΎΡ€ΠΌΡƒ тСкстовой подстановки. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ использованиС макросов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ стороны. Они ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ ошибки ΠΈΠ·-Π·Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² макроса ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с пространством ΠΈΠΌΠ΅Π½. Π’ C++ Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ соврСмСнныС способы достиТСния Ρ‚Π΅Ρ… ΠΆΠ΅ Ρ†Π΅Π»Π΅ΠΉ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ константы ΠΈ inline Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто макросов.

⁉️ ΠœΠΎΠ½ΠΎΠ»ΠΈΡ‚ ΠΈΠ»ΠΈ микросСрвисы? Руководство для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ цСнят свои Π½Π΅Ρ€Π²Ρ‹ ΠŸΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅ΠΌ Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΡƒΡ€ΠΎΠΊ. πŸ—“ 17 июня Π²
⁉️ ΠœΠΎΠ½ΠΎΠ»ΠΈΡ‚ ΠΈΠ»ΠΈ микросСрвисы? Руководство для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ цСнят свои Π½Π΅Ρ€Π²Ρ‹ ΠŸΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅ΠΌ Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΡƒΡ€ΠΎΠΊ. πŸ—“ 17 июня Π² 20:00 МБК πŸ†“ БСсплатно. Π£Ρ€ΠΎΠΊ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… старта курса Β«Software ArchitectΒ». πŸ“Œ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π° Π²Π΅Π±ΠΈΠ½Π°Ρ€Π΅: βœ”οΈ Как Π½Π΅ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² Π»ΠΎΠ²ΡƒΡˆΠΊΡƒ β€œΠΌΠΎΠ΄Π½Ρ‹Ρ…β€ микросСрвисов; βœ”οΈ Π Π°Π·Π±ΠΎΡ€ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ², Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€Π° Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ· ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π°; βœ”οΈ АрхитСктурныС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ микросСрвисам (Strangler Fig, BFF, Self-contained systems); βœ”οΈ ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΈ тСхничСскиС риски β€” Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ ΠΈ ΠΊΠ°ΠΊ это ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ; βœ”οΈ Роль DevOps, CI/CD ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π² Π²Ρ‹Π±ΠΎΡ€Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. 🎯 ПослС Π²Π΅Π±ΠΈΠ½Π°Ρ€Π° Π²Ρ‹: - ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ пошаговоС руководство ΠΏΠΎ Π²Ρ‹Π±ΠΎΡ€Ρƒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΏΠΎΠ΄ ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚; - ΠΠ°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ риски ΠΈ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ микросСрвисов; - ΠŸΠΎΠΉΠΌΡ‘Ρ‚Π΅, ΠΊΠ°ΠΊ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ измСнСния Π±Π΅Π· сбоСв ΠΈ хаоса; - Π£Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π²Π·Π²Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, сохраняя тСхничСский ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. πŸ’‘ Π˜Π΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π΅Π±ΠΈΠ½Π°Ρ€ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ "Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈΡ‚ΡŒ Π½Π° ощущСниях" ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ стратСгичСски. 🎁 ВсСм участникам Π²Π΅Π±ΠΈΠ½Π°Ρ€Π° Π΄Π°Ρ€ΠΈΠΌ ΠΏΡ€ΠΎΠΌΠΎΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π΅Ρ‚ скидку Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ - SoftwareArc_06 πŸ‘‰ РСгистрация Π½Π° Π²Π΅Π±ΠΈΠ½Π°Ρ€: https://otus.pw/MDi9/ Π Π΅ΠΊΠ»Π°ΠΌΠ°. ООО Β«ΠžΡ‚ΡƒΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠžΠ“Π Π 1177746618576

βš™οΈ std::vector::insert Π’ C++ ΠΌΠ΅Ρ‚ΠΎΠ΄ std::vector::insert позволяСт Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ элСмСнты ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ элСмСнтов Π² Π²Π΅ΠΊΡ‚ΠΎΡ€ Π½Π° ΡƒΠΊΠ°Π·Π°
βš™οΈ std::vector::insert Π’ C++ ΠΌΠ΅Ρ‚ΠΎΠ΄ std::vector::insert позволяСт Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ элСмСнты ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ элСмСнтов Π² Π²Π΅ΠΊΡ‚ΠΎΡ€ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для динамичСского измСнСния содСрТимого ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

std::memory_order_acquire std::memory_order_acquire β€” это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ„Π»Π°Π³ΠΎΠ² (memory order) Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ C++, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ
std::memory_order_acquire std::memory_order_acquire β€” это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ„Π»Π°Π³ΠΎΠ² (memory order) Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ C++, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² контСкстС многопоточности ΠΈ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Он ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ опСрация Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ уровня доступа ΠΊ памяти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдписываСт, Ρ‡Ρ‚ΠΎ всС чтСния, выполняСмыС ΠΏΠ΅Ρ€Π΅Π΄ этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Ρ‹ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½Π° начнСтся. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всС измСнСния, сдСланныС Π² памяти Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌΡ‹ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. std::memory_order_acquire примСняСтся ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΊ опСрациям чтСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ значСния ΠΈΠ· раздСляСмой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· раздСляСмой памяти Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ срСдС. Π’ сочСтании с std::memory_order_release, этот Ρ„Π»Π°Π³ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для создания Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с соблюдСниСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΉ согласованности памяти Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ срСдС. #для_ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ…

ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнты Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ std::min_element ΠΈ std::max_element Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт
ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнты Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ std::min_element ΠΈ std::max_element Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнты соотвСтствСнно ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°. Π’ качСствС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ элСмСнтов ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈΠ»ΠΈ массив. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ элСмСнтов задаСтся Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°/массива. Π—Π΄Π΅ΡΡŒ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΌΠΈΠ½ ΠΈ макс элСмСнты Π²Π΅ΠΊΡ‚ΠΎΡ€Π° numbers. Π’ ΠΎΠ±ΠΎΠΈΡ… случаях Π² качСствС Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° выступаСт вСсь ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ β€” ΠΎΡ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° begin(numbers) Π΄ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° end(numbers). Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚Π°ΠΊΠΆΠ΅ являСтся ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€. ΠŸΠΎΡ‚ΠΎΠΌΡƒ для получСния значСния (максимального/минимального значСния) примСняСм ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ разымСнования: *std::min_element(...). Π’Π°ΠΊ ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ поиска Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ, Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΉΡ‚ΠΈ макс/ΠΌΠΈΠ½ значСния Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅:
std::cout << "Min: " << *std::min_element(begin(numbers), end(numbers)) << std::endl;
std::cout << "Max: " << *std::max_element(begin(numbers), end(numbers)) << std::endl;

#для_ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ…

РСкурсивный ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ РСкурсивный ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ (recursive mutex) β€” это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅
РСкурсивный ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ РСкурсивный ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ (recursive mutex) β€” это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΡƒ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ, Π½Π΅ приводя ΠΊ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ситуациях, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΠΎΡ‚ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ, нСсколько Ρ€Π°Π· Π²Π»ΠΎΠΆΠ΅Π½ΠΎ, ΠΈ Π±Π΅Π· рСкурсивных ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠΎΠ² это ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹ привСсти ΠΊ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ°. Π’ C++ стандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° прСдоставляСт класс std::recursive_mutex для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСкурсивными ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠ°ΠΌΠΈ. Код с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° создаСт Π΄Π²Π° ΠΏΠΎΡ‚ΠΎΠΊΠ°, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ foo, которая Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ рСкурсивный ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ нСсколько Ρ€Π°Π·. Благодаря рСкурсивному ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΡƒ, это Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Ρ‚ΡŒ остороТным ΠΏΡ€ΠΈ использовании рСкурсивных ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ ΠΈ Π΄Π΅Π΄Π»ΠΎΠΊΠ°ΠΌΠΈ. #для_ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ…

std::make_pair std::make_pair β€” это шаблонная функция Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ C++, прСдназначСнная для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° std:
std::make_pair std::make_pair β€” это шаблонная функция Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ C++, прСдназначСнная для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° std::pair. std::pair β€” это структура, прСдназначСнная для хранСния ΠΏΠ°Ρ€Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π΄Π²ΡƒΡ… элСмСнтов) Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ создаСт ΠΏΠ°Ρ€Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (a ΠΈ b) с использованиСм std::make_pair ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΡ… Π½Π° экран. Ѐункция make_pair автоматичСски опрСдСляСт Ρ‚ΠΈΠΏΡ‹ элСмСнтов ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ std::pair с этими значСниями. #для_Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ эффСктивно ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ C++ ΠΊΠΎΠ΄ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ошибки? ⏺️ На ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ Π²Π΅Π±ΠΈΠ½Π°Ρ€Π΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅: β–Έ Как ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΈ устраня
Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ эффСктивно ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ C++ ΠΊΠΎΠ΄ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ошибки? ⏺️ На ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ Π²Π΅Π±ΠΈΠ½Π°Ρ€Π΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅: β–Έ Как ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ошибки Π² C++ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΈΡ… инструмСнтов, ΠΊΠ°ΠΊ assert'Ρ‹, Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡŽΠ½ΠΈΡ‚-тСсты. β–Έ ΠœΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ core dump ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ вашим Π΄Ρ€ΡƒΠ³ΠΎΠΌ. β–Έ Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌ вас с powerful инструмСнтами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ address sanitizer ΠΈ valgrind, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΉΡ‚ΠΈ ошибки Π² самых слоТных случаях. ❗️ Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠΉΡ‚Π΅ свою Β«Π°ΠΏΡ‚Π΅Ρ‡ΠΊΡƒΒ» инструмСнтов ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ быстрСС Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π±Π°Π³ΠΈ, Π½ΠΎ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° Π½Π° C++. Π­Ρ‚ΠΎΡ‚ ΡƒΡ€ΠΎΠΊ даст Π²Π°ΠΌ Π²Π°ΠΆΠ½Ρ‹Π΅ практичСскиС знания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ пригодятся Π½Π° всСх этапах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. πŸ“† ΠŸΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΡƒΡ€ΠΎΠΊ 9 июня Π² 20:00 МБК Π² ΠΏΡ€Π΅Π΄Π΄Π²Π΅Ρ€ΠΈΠ΅ старта курса Β«C++ DeveloperΒ» ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ скидку Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅! РСгистрация ΡƒΠΆΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π°: https://otus.pw/Z5oE/ Π Π΅ΠΊΠ»Π°ΠΌΠ°. ООО Β«ΠžΡ‚ΡƒΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠžΠ“Π Π 1177746618576, www.otus.ru

insert_or_assign insert_or_assign являСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° std::map ΠΈ std::unordered_map (ΠΈ ΠΈΡ… ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ²), ΠΊ
insert_or_assign insert_or_assign являСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° std::map ΠΈ std::unordered_map (ΠΈ ΠΈΡ… ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ²), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² стандарт C++17. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ вставляСт Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт ΠΈΠ»ΠΈ обновляСт ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ. #для_Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ“š Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ сТатиС тСкста: ΠΊΠΎΠ΄ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π° Π² дСйствии ΠŸΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅ΠΌ Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΡƒΡ€ΠΎΠΊ. πŸ—“ 11 июня Π² 20:00 МБК πŸ†“ БСсплатно. Π£Ρ€ΠΎΠΊ
πŸ“š Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ сТатиС тСкста: ΠΊΠΎΠ΄ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π° Π² дСйствии ΠŸΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅ΠΌ Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΡƒΡ€ΠΎΠΊ. πŸ—“ 11 июня Π² 20:00 МБК πŸ†“ БСсплатно. Π£Ρ€ΠΎΠΊ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… старта курса «Алгоритмы ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ…Β». На этом Π²Π΅Π±ΠΈΠ½Π°Ρ€Π΅ ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π°Ρ€Ρ…ΠΈΠ²Π°Ρ‚ΠΎΡ€Π°, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π² ΠΊΠΎΠ΄ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°. βœ”οΈ Рассмотрим, ΠΊΠ°ΠΊ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΊΠΎΠ΄ΠΎΠ², Π³Π΄Π΅ частота появлСния символов опрСдСляСт ΠΈΡ… Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ прСдставлСниС. βœ”οΈ Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π² наш Π°Ρ€Ρ…ΠΈΠ²Π°Ρ‚ΠΎΡ€ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ тСстированиС с RLE. βœ”οΈ Π£Π²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ эффСктивно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π° Π½Π° тСкстовых Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΡ‚Π»ΠΈΡ‡Π½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½Ρ‹Π΅ структуры Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° практичСском ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. Π Π°Π·Π²ΠΈΠ²Π°ΠΉΡ‚Π΅ алгоритмичСскоС ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. 🎁 ВсСм участникам Π²Π΅Π±ΠΈΠ½Π°Ρ€Π° Π΄Π°Ρ€ΠΈΠΌ ΠΏΡ€ΠΎΠΌΠΎΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π΅Ρ‚ скидку Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ - Algo5 πŸ‘‰ РСгистрация Π½Π° Π²Π΅Π±ΠΈΠ½Π°Ρ€: https://otus.pw/VkyC/ Π Π΅ΠΊΠ»Π°ΠΌΠ°. ООО Β«ΠžΡ‚ΡƒΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠžΠ“Π Π 1177746618576

std::reference_wrapper std::reference_wrapper β€” это класс Π² C++, прСдоставляСмый стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚
std::reference_wrapper std::reference_wrapper β€” это класс Π² C++, прСдоставляСмый стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π­Ρ‚ΠΎΡ‚ класс ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ нСявного копирования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ОсновноС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ std::reference_wrapper Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ссылки ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚ ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ использовании Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈΠ· стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Ссли Π½Π΅ явно ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΈΠ½Π°Ρ‡Π΅. #для_Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ