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 647 subscribers, ranking 10 395 in the Technologies & Applications category and 55 326 in the Russia region.

πŸ“Š Audience metrics and dynamics

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

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

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 10.05%. Within the first 24 hours after publication, content typically collects 4.47% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 1 170 views. Within the first day, a publication typically gains 521 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 03 September, 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 647
Subscribers
-324 hours
-147 days
-6830 days
Posts Archive
Поиск максимальной ΠΏΡ€ΠΈΠ±Ρ‹Π»ΠΈ Π”Π°Π½ цСлочислСнный массив prices, Π³Π΄Π΅ prices[i] - это Ρ†Π΅Π½Π° Π΄Π°Π½Π½ΠΎΠΉ Π°ΠΊΡ†ΠΈΠΈ Π½Π° i-ΠΉ дСнь. Π’ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь
Поиск максимальной ΠΏΡ€ΠΈΠ±Ρ‹Π»ΠΈ Π”Π°Π½ цСлочислСнный массив prices, Π³Π΄Π΅ prices[i] - это Ρ†Π΅Π½Π° Π΄Π°Π½Π½ΠΎΠΉ Π°ΠΊΡ†ΠΈΠΈ Π½Π° i-ΠΉ дСнь. Π’ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ ΠΏΠΎΠΊΡƒΠΏΠΊΠ΅ ΠΈ/ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ΅ Π°ΠΊΡ†ΠΈΠΈ. Π’ любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ Π°ΠΊΡ†ΠΈΠΈ. Однако Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΡƒΠΏΠΈΡ‚ΡŒ Π΅Π΅ ΠΈ Ρ‚ΡƒΡ‚ ΠΆΠ΅ ΠΏΡ€ΠΎΠ΄Π°Ρ‚ΡŒ Π² Ρ‚ΠΎΡ‚ ΠΆΠ΅ дСнь. НайдитС ΠΈ Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ. Рассмотрим ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ maxProfit: curHold Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒ, Ссли Ρƒ нас Π΅ΡΡ‚ΡŒ Π°ΠΊΡ†ΠΈΠΈ, Π° curNotHold - Ссли Ρƒ нас Π½Π΅Ρ‚ Π°ΠΊΡ†ΠΈΠΉ. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ†Π΅Π½Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ обновляСт значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. - curHold считаСтся ΠΊΠ°ΠΊ максимум ΠΈΠ· Π΄Π²ΡƒΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ curHold (Ссли ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π°ΠΊΡ†ΠΈΠΈ) ΠΈ разности ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ curNotHold ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ†Π΅Π½ΠΎΠΉ Π½Π° Π°ΠΊΡ†ΠΈΠΈ (Ссли ΠΌΡ‹ ΠΏΠΎΠΊΡƒΠΏΠ°Π΅ΠΌ Π°ΠΊΡ†ΠΈΠΈ сСгодня). - curNotHold считаСтся ΠΊΠ°ΠΊ максимум ΠΈΠ· Π΄Π²ΡƒΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ curNotHold (Ссли ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π½Π΅ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ Π°ΠΊΡ†ΠΈΠΈ) ΠΈ суммы ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ curHold ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ†Π΅Π½Ρ‹ Π½Π° Π°ΠΊΡ†ΠΈΠΈ (Ссли ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄Π°Π΅ΠΌ Π°ΠΊΡ†ΠΈΠΈ сСгодня). #Ρ€Π°Π·Π±ΠΎΡ€_ΠΊΠΎΠ΄Π°

Как ΡΡ‚Π°Ρ‚ΡŒ вострСбованным Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ? Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ Go! ПослС изучСния Π²Ρ‹ смоТСтС ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ сСрвСрныС ΠΏ
Как ΡΡ‚Π°Ρ‚ΡŒ вострСбованным Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ? Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ Go! ПослС изучСния Π²Ρ‹ смоТСтС ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ сСрвСрныС прилоТСния, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ потрСбностям ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ. НачнитС ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π² Go c ΠΏΡ€ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡƒΡ€ΠΎΠΊΠ° курса ΠΎΡ‚ OTUS, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ πŸ‘¨β€πŸ’» Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π‘Π°Π»ΡƒΠ½, Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π² Ozon расскаТСт ΠΎΠ± Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ пСрспСктивах этого языка. ΠšΡƒΡ€Ρ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ с ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ ΠΎΡ‚ 2-3Ρ… Π»Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках. КакиС Ρ‚Π΅ΠΌΡ‹ Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅ΠΌ Π½Π° встрСчС: β€” Ρ‡Ρ‚ΠΎ происходит Π² IT-бизнСсС β€” Π² ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ сСйчас ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Golang-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ β€” Ρ‡Π΅ΠΌ Ρ…ΠΎΡ€ΠΎΡˆ этот язык программирования β€” ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π’ΠžΠ›Π¬ΠšΠž Π½Π° Go β€” ΠΏΠΎΡ‡Π΅ΠΌΡƒ Go ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ пСрспСктивы Π² индустрии. πŸ‘‰ Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠΊ, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° наш сайт, Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ Π½Π° курс ΠΈ Π²Π°ΠΌ автоматичСски откроСтся доступ ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ спСц Ρ†Π΅Π½Ρƒ Π½Π° основной курс Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Π½Π΅Π΄Π΅Π»ΠΈ β€” https://otus.pw/Qxjg/ Π Π΅ΠΊΠ»Π°ΠΌΠ°. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Ρ€Π΅ΠΊΠ»Π°ΠΌΠΎΠ΄Π°Ρ‚Π΅Π»Π΅ Π½Π° сайтС www.otus.ru.

ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² классов встроСнныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ +, -, *
ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² классов встроСнныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ +, -, * ΠΈ Ρ‚. Π΄. Для опрСдСлСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² своСго класса, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ содСрТит слово operator ΠΈ символ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π² классС Counter ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ слоТСния, Ρ†Π΅Π»ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π΄Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Counter. Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π»Π΅Π²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пСрСдаСтся Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ counter, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€Π°Π²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. #это_Π±Π°Π·Π°

Π”Π°Π½ цСлочислСнный массив nums, ΠΏΠΎΠ²Π΅Ρ€Π½ΠΈΡ‚Π΅ массив Π²ΠΏΡ€Π°Π²ΠΎ Π½Π° k шагов. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π°ΠΌ понадобятся Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: - ΠœΠ΅Ρ‚ΠΎΠ΄ reverse ΠΏΡ€
Π”Π°Π½ цСлочислСнный массив nums, ΠΏΠΎΠ²Π΅Ρ€Π½ΠΈΡ‚Π΅ массив Π²ΠΏΡ€Π°Π²ΠΎ Π½Π° k шагов. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π°ΠΌ понадобятся Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: - ΠœΠ΅Ρ‚ΠΎΠ΄ reverse ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€ чисСл ΠΈ измСняСт порядок элСмСнтов Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΌΠ΅ΠΆΠ΄Ρƒ индСксами. - ΠœΠ΅Ρ‚ΠΎΠ΄ rotate ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€ чисСл ΠΈ число k, ΠΈ сдвигаСт элСмСнты Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Π½Π° k ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ Π²ΠΏΡ€Π°Π²ΠΎ. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π½Π° экран Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сдвига элСмСнтов Π²Π΅ΠΊΡ‚ΠΎΡ€Π° {1, 2, 3, 4, 5, 6, 7} Π½Π° 3 ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π²ΠΏΡ€Π°Π²ΠΎ: 5 6 7 1 2 3 4. #Ρ€Π°Π·Π±ΠΎΡ€_ΠΊΠΎΠ΄Π°

Бсылки Бсылки - это Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° для ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ объявлСна ΠΊΠ°ΠΊ ссылка, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ с
Бсылки Бсылки - это Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° для ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ объявлСна ΠΊΠ°ΠΊ ссылка, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ символ &. Бсылка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ссылка Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π‘ΠΈΠΌΠ²ΠΎΠ» & ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для обозначСния адрСса ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ любой памяти. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, связанныС со ссылочными ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ доступны ΠΊΠ°ΠΊ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎ ссылочной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, связанной с Π½ΠΈΠΌΠΈ. #это_Π±Π°Π·Π°

ΠœΡƒΠΆΡ‡ΠΈΠ½Π°ΠΌ Π±Π΅Π· радости Π² ΠΆΠΈΠ·Π½ΠΈ ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ выстроСнныС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ с Π΄Π΅Π²ΡƒΡˆΠΊΠ°ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΈΡ‚ΠΎΠ³ - Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ, слабая позиция ΠΈ Π½Π΅ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΎΠΏΠΎΡ€Ρ‹. Π˜ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ, достаточно Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ «НСНастоящий» ΠΌΡƒΠΆΡ‡ΠΈΠ½Π° Ваня ΠΏΠΎ шагам рассказываСт, ΠΊΠ°ΠΊ Π²Ρ‹ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ свободныС ΠΈ яркиС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ с Π΄Π΅Π²ΡƒΡˆΠΊΠ°ΠΌΠΈ. Π‘Π΅Π· манипуляций, Π±Π΅Π· ΠΊΡ€ΠΈΠΊΠΎΠ² ΠΈ психологов Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΡƒΠΆΡ‡ΠΈΠ½Π° β€” @unreal_man

Класс std::string std::string β€” это Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ класс Π² языкС программирования C++, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой послСдоват
Класс std::string std::string β€” это Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ класс Π² языкС программирования C++, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками ΠΈ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ C++. Рассмотрим ΠΏΡΡ‚ΡŒ основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ std::string: length() β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ строки; append(str) β€” добавляСт строку str Π² ΠΊΠΎΠ½Π΅Ρ† Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки; substr(start, length) β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ подстроку, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΡƒΡŽΡΡ с индСкса start ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ length; find(str) β€” ΠΈΡ‰Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ строки str Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строкС ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа этой подстроки; replace(start, length, str) β€” замСняСт подстроку, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΡƒΡŽΡΡ с индСкса start ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ length, Π½Π° строку str. #это_Π±Π°Π·Π°

Π”Π°Π½Π° строка s, Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π΄Π»ΠΈΠ½Ρƒ самой Π΄Π»ΠΈΠ½Π½ΠΎΠΉ подстроки Π±Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ символов. Π’ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ charSet для отслСТив
Π”Π°Π½Π° строка s, Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π΄Π»ΠΈΠ½Ρƒ самой Π΄Π»ΠΈΠ½Π½ΠΎΠΉ подстроки Π±Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ символов. Π’ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ charSet для отслСТивания ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… символов Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ подстрокС; Π»Π΅Π²Ρ‹ΠΉ ΠΈ ΠΏΡ€Π°Π²Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для обозначСния Π³Ρ€Π°Π½ΠΈΡ† Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ подстроки; maxLength отслСТиваСт Π΄Π»ΠΈΠ½Ρƒ самой Π΄Π»ΠΈΠ½Π½ΠΎΠΉ подстроки, встрСчСнной Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€Π°Π²Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ выполняСм ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ строкС, Ссли Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ символа Π½Π΅Ρ‚ Π² charSet, Ρ‚ΠΎ вставляСм символ Π² Π½Π°Π±ΠΎΡ€ ΠΈ ΠΏΡ€ΠΈ нСобходимости обновляСм maxLength. Если символ ΡƒΠΆΠ΅ присутствуСт Π² Π½Π°Π±ΠΎΡ€Π΅, Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ Π»Π΅Π²Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π²ΠΏΠ΅Ρ€Π΅Π΄, удаляя символы ΠΈΠ· Π½Π°Π±ΠΎΡ€Π°, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠΉΡΡ символ Π½Π΅ исчСзнСт. Π—Π°Ρ‚Π΅ΠΌ вставляСм Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ символ Π² Π½Π°Π±ΠΎΡ€ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ maxLength ΠΊΠ°ΠΊ Π΄Π»ΠΈΠ½Ρƒ самой Π΄Π»ΠΈΠ½Π½ΠΎΠΉ подстроки Π±Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ символов. #Ρ€Π°Π·Π±ΠΎΡ€_ΠΊΠΎΠ΄Π°

std::atomic_signal_fence std::atomic_signal_fence β€” это функция, которая устанавливаСт порядок синхронизации памяти для Π½Π΅Π°Ρ‚ΠΎ
std::atomic_signal_fence std::atomic_signal_fence β€” это функция, которая устанавливаСт порядок синхронизации памяти для Π½Π΅Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… ΠΈ расслаблСнных Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… доступов ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ сигнала, выполняСмым Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ΅. Ѐункция эквивалСнтна std::atomic_thread_fence, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ инструкции процСссора для упорядочивания памяти Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ std::atomic_signal_fence для установлСния порядка синхронизации памяти ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ b Π½Π° экран. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этого ΠΊΠΎΠ΄Π° всСгда Π±ΡƒΠ΄Π΅Ρ‚ 1.

std::midpoint std::midpoint β€” это функция, которая вычисляСт ΡΡ€Π΅Π΄Π½ΡŽΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами, числами с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎ
std::midpoint std::midpoint β€” это функция, которая вычисляСт ΡΡ€Π΅Π΄Π½ΡŽΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами, числами с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΈΠ»ΠΈ указатСлями. Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ суммы a ΠΈ b, ΠΏΡ€ΠΈ этом Π½Π΅ происходит пСрСполнСния. Если a ΠΈ b ΠΈΠΌΠ΅ΡŽΡ‚ цСлочислСнный Ρ‚ΠΈΠΏ ΠΈ сумма являСтся Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠΉ, Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ округляСтся Π² сторону a. Если a ΠΈ b ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΈΠΏ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, Ρ‚ΠΎ происходит Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ‚-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ с Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ? ΠŸΠΎΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Ρƒ lovesyuk. Он создаСт ΠΏΡ€ΠΈΠΊΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, завязанныС Π½Π° ML. И дСлится всСми ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅Π΄Π°Π²Π½ΠΎ сдСлал: β€” Онлайн-ΠΈΠ³Ρ€Ρƒ ΠΏΡ€ΠΎ Ρ‚ΠΎ, ΠΊΡ‚ΠΎ смСшнСС ΠΏΠΎΡˆΡƒΡ‚ΠΈΡ‚ β€” Python-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ с GPT-4, которая ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ β€” Π‘ΠΎΡ‚Π° Π ΠΈΠΊΠ° Π‘Π°Π½Ρ‡Π΅Π·Π° Π½Π° ChatGPT-4 (Π΄Π°-Π΄Π°, Ρ‚ΠΎΠ³ΠΎ самого ΠΈΠ· Π ΠΈΠΊΠ° ΠΈ ΠœΠΎΡ€Ρ‚ΠΈ) ВсС это β€” свСТиС посты Π² Π΅Π³ΠΎ ΠΊΠ°Π½Π°Π»Π΅. А Π΅Ρ‰Π΅ Ρ‚Π°ΠΌ Π΅ΡΡ‚ΡŒ Π³Π°ΠΉΠ΄Ρ‹, ссылки Π½Π° Π³ΠΈΡ‚Ρ…Π°Π± ΠΈ ΠΊΡƒΡ‡Π° Π°ΠΉΡ‚ΠΈΡˆΠ½ΠΎΠ³ΠΎ ΡŽΠΌΠΎΡ€Π°. И ΠΎΠ½ ΡƒΠΆΠ΅ создал Π΄Π²Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Π΅ Π°ΠΉΡ‚ΠΈ-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ β€” Ρƒ Π½Π΅Π³ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ Π΅ΡΡ‚ΡŒ Ρ‡Π΅ΠΌΡƒ ΠΏΠΎΡƒΡ‡ΠΈΡ‚ΡŒΡΡ πŸ˜‰

std::apply std::apply β€” это функция, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π° Π·Π°Ρ‚Π΅ΠΌ Π²
std::apply std::apply β€” это функция, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с элСмСнтами ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π­Ρ‚ΠΎ позволяСт ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, хранящимися Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм ΠΊΠΎΡ€Ρ‚Π΅ΠΆ args, содСрТащий Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ add. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ std::apply для Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ add с этими Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° экран.

std::map::emplace std::map::emplace β€” это функция-Ρ‡Π»Π΅Π½ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° std::map, которая вставляСт Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, испо
std::map::emplace std::map::emplace β€” это функция-Ρ‡Π»Π΅Π½ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° std::map, которая вставляСт Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для конструирования элСмСнта Π½Π° мСстС. Π­Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ копирования ΠΈΠ»ΠΈ пСрСмСщСния ΠΏΡ€ΠΈ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ использовании emplace. Если Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ элСмСнт с Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ вставлСн. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм std::map с ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° std::string ΠΈ значСниями Ρ‚ΠΈΠΏΠ° int. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ emplace для вставки Ρ‚Ρ€Π΅Ρ… ΠΏΠ°Ρ€ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ содСрТимоС map Π½Π° экран.

На языкС C++ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ с нуля самыС Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: ΠΎΡ‚ бСспилотных Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠΈ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π΄ΠΎ Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², ΠΌΠΈΠΊΡ€
На языкС C++ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ с нуля самыС Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: ΠΎΡ‚ бСспилотных Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠΈ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π΄ΠΎ Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², сСрвСров ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€. Если Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΠ΅Ρ‡Ρ‚Π°Π»ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΌΠΈΡ€, Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ всСго Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ это Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΈ Π½Π° этом языкС. А Π΅Ρ‰Ρ‘ Π‘++ Π΄Π°Ρ‘Ρ‚ ΠΊΡ€Π΅ΠΏΠΊΡƒΡŽ Π±Π°Π·Ρƒ Π·Π½Π°Π½ΠΈΠΉ. Π’Ρ‹ΡƒΡ‡ΠΈΠ² Π΅Π³ΠΎ, Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ любой смСТный инструмСнт. ΠžΠ±ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ языку ΠΌΠΎΠΆΠ½ΠΎ Π½Π° курсС ЯндСкс ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌΠ° Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ C++Β». На курсС Π²Ρ‹: β€’ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ эффСктивный ΠΊΠΎΠ΄; β€’ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘Ρ‚Π΅ΡΡŒ Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ C++; β€’ Π½Π°Ρ‡Π½Ρ‘Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Git, IDE ΠΈ компиляторами; β€’ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ ΠΈ структурами Π΄Π°Π½Π½Ρ‹Ρ…; β€’ создадитС Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ сСрвисы ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ 3+ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ. На всСх этапах вас Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ: ΠΌΡ‹ Π½Π΅ Π΄Π°Π΄ΠΈΠΌ ΠΏΡ€ΠΎΡΠ΅ΡΡ‚ΡŒ ΠΏΠΎ ΡƒΡ‡Ρ‘Π±Π΅ ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΠΊΡ€ΠΎΠΈΡ‚ΡŒ врСмя Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅. Π’Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… кСйсах ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅ Π² ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. А ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π½Ρ‹Π΅ ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Ρ†ΠΈΠΈ подготовят вас ΠΊ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Ρƒ ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ с поиском Π½ΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.  ΠŸΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ бСсплатный ΡƒΡ€ΠΎΠΊ

std::atomic_thread_fence std::atomic_thread_fence β€” это функция, которая устанавливаСт порядок синхронизации памяти для Π½Π΅ Π°Ρ‚
std::atomic_thread_fence std::atomic_thread_fence β€” это функция, которая устанавливаСт порядок синхронизации памяти для Π½Π΅ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… ΠΈ расслаблСнных Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… доступов, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π΅ order, Π±Π΅Π· связанной Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. std::atomic_thread_fence ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для обСспСчСния ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ порядка чтСния ΠΈ записи Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π΄Π²Π° ΠΏΠΎΡ‚ΠΎΠΊΠ° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ write_x_then_y ΠΈ read_y_then_x: - write_x_then_y устанавливаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ x Ρ€Π°Π²Π½Ρ‹ΠΌ 1, Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ std::atomic_thread_fence с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ std::memory_order_release ΠΈ устанавливаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ y Ρ€Π°Π²Π½Ρ‹ΠΌ 1. - read_y_then_x считываСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ y, Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ std::atomic_thread_fence с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ std::memory_order_acquire ΠΈ считываСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ x.

std::unordered_set std::unordered_set β€” это ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π² нСупорядочСнном порядкС. Он обСсп
std::unordered_set std::unordered_set β€” это ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π² нСупорядочСнном порядкС. Он обСспСчиваСт быстрый поиск, вставку ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов Π·Π° счСт использования Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. std::unordered_set ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ эффСктивным, Ρ‡Π΅ΠΌ std::set, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска для хранСния элСмСнтов. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ создаСтся std::unordered_set Ρ†Π΅Π»Ρ‹Ρ… чисСл ΠΈ инициализируСтся ΠΏΡΡ‚ΡŒΡŽ значСниями. Π—Π°Ρ‚Π΅ΠΌ содСрТимоС мноТСства выводится Π½Π° экран с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° for-each. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ порядок элСмСнтов Π² мноТСствС Π½Π΅ соотвСтствуСт порядку ΠΈΡ… добавлСния. Π’Π°ΠΊΠΆΠ΅ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ дСмонстрируСтся использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² bucket_count, begin ΠΈ end для доступа ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΡ€Π·ΠΈΠ½Π°ΠΌ Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΡ… содСрТимого.

β“ΠšΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ появились Π² послСднСм стандартС языка C? ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ ΠΎΠ±Π·ΠΎΡ€ стандарта C23 Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ ΡƒΡ€ΠΎΠΊΠ΅ 20 июля Π² 20:0
β“ΠšΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ появились Π² послСднСм стандартС языка C? ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ ΠΎΠ±Π·ΠΎΡ€ стандарта C23 Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ ΡƒΡ€ΠΎΠΊΠ΅ 20 июля Π² 20:00 Π² OTUS. Π’Π΅Π±ΠΈΠ½Π°Ρ€ ΠΏΡ€ΠΈΡƒΡ€ΠΎΡ‡Π΅Π½ ΠΊ старту ΠΎΠ½Π»Π°ΠΉΠ½-курса Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ Π‘Β». πŸ”₯ЗанятиС ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Ρ‚ АндрСй ΠšΡ€Π°Π²Ρ‡ΡƒΠΊ, ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒ курса ΠΈ программист C/C++ с ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ 14 Π»Π΅Ρ‚. На Π²Π΅Π±ΠΈΠ½Π°Ρ€Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ: β€” ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Π΅ возмоТности языка β€” Π½ΠΎΠ²Ρ‹Π΅ языковыС конструкции β€” измСнСния Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ βš‘οΈΠ—Π°Π½ΡΡ‚ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚: β€” Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈ Π°Π²Ρ‚ΠΎΡ€Π°ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π½Π° языкС C β€” Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ, ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠΌΡΡ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… языков программирования Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ знания ΠΎ Π½ΠΎΠ²Ρ‹Ρ… Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… возмоТностях ΠΈ Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Ρ… камнях языка C. ПослС Π²Π΅Π±ΠΈΠ½Π°Ρ€Π° курс ΠΌΠΎΠΆΠ½ΠΎ приобрСсти Π² рассрочку. πŸ‘‰Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ участиС: https://otus.pw/apTb/ Π Π΅ΠΊΠ»Π°ΠΌΠ°. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Ρ€Π΅ΠΊΠ»Π°ΠΌΠΎΠ΄Π°Ρ‚Π΅Π»Π΅ Π½Π° сайтС www.otus.ru.

std::forward_as_tuple std::forward_as_tuple β€” это функция, которая создаСт ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ссылок Π½Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π² Π½Π΅Π΅. Π­Ρ‚
std::forward_as_tuple std::forward_as_tuple β€” это функция, которая создаСт ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ссылок Π½Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π² Π½Π΅Π΅. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. ΠšΠΎΡ€Ρ‚Π΅ΠΆ содСрТит ссылки rvalue, ΠΊΠΎΠ³Π΄Π° Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ rvalue, ΠΈ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС содСрТит ссылки lvalue. std::forward_as_tuple ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ссылок, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈ использовании std::map::emplace ΠΈΠ»ΠΈ std::apply. Он позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ создания Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ обСспСчиваСт ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ rvalue ΠΈ lvalue Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ std::forward_as_tuple ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ emplace ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° std::map. ΠœΠ΅Ρ‚ΠΎΠ΄ emplace ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ°Ρ€Ρƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТит Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для ΠΊΠ»ΡŽΡ‡Π°, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” для значСния. Π’ этом случаС ΠΊΠ»ΡŽΡ‡ β€” это число 10, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” строка ΠΈΠ· 20 символов "a".

std::unique_lock std::unique_lock β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ управляСт Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠ°. Он обСспСчиваСт Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊ
std::unique_lock std::unique_lock β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ управляСт Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠ°. Он обСспСчиваСт Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ, Ρ‡Π΅ΠΌ std::lock_guard, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ позволяСт Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ нСсколько Ρ€Π°Π·. std::unique_lock ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ шаблон RAII (Resource Acquisition Is Initialization), это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ создании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° std::unique_lock ΠΎΠ½ автоматичСски Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ, Π° ΠΏΡ€ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° - автоматичСски Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ MyFunction ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ std::unique_lock, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ, Π·Π°Ρ‚Π΅ΠΌ выполняСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ ΠΈ увСдомляСт condition. MyOtherFunction Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ std::unique_lock, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ, Π·Π°Ρ‚Π΅ΠΌ ΠΆΠ΄Π΅Ρ‚ увСдомлСния ΠΎΡ‚ MyFunction с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° wait условной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ condition, ΠΈ послС этого Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ дСмонстрируСт использованиС std::unique_lock для синхронизации доступа ΠΊ ΠΎΠ±Ρ‰ΠΈΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ для взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ условных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π‘Ρ€Π°Π²Π½ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠΈΠ΅ курсы ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° C++ Tutortop β€” ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ маркСтплСйс β„–1, Π³Π΄Π΅ прСдставлСно ΡΠ²Ρ‹ΡˆΠ΅ 5000 курсов ΠΎΡ‚ Π±
Π‘Ρ€Π°Π²Π½ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠΈΠ΅ курсы ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° C++ Tutortop β€” ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ маркСтплСйс β„–1, Π³Π΄Π΅ прСдставлСно ΡΠ²Ρ‹ΡˆΠ΅ 5000 курсов ΠΎΡ‚ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 300 школ ΠΈ всС ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΏΠΎ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Ρƒ, Ρ†Π΅Π½Π΅ ΠΈ ΠΎΡ‚Π·Ρ‹Π²Π°ΠΌ, Π° Π΅Ρ‰Π΅ ΠΊΡƒΠΏΠΈΡ‚ΡŒ дСшСвлС, Ρ‡Π΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ πŸ”₯ ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° ΠΈΠ· Ρ‚ΠΎΠΏΠΎΠ²Ρ‹Ρ… курсов для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π° C++ ΠΎΡ‚ tutortop: β€” ΠšΡƒΡ€Ρ Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π° C++Β» ΠΎΡ‚ НСтологии. Π Π΅ΠΉΡ‚ΠΈΠ½Π³ 4.8 ΠΈΠ· 5. β€” ΠšΡƒΡ€Ρ Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€ Π² Unreal Engine Π½Π° C++Β» ΠΎΡ‚ Gamedev ΠΎΠ½Π»Π°ΠΉΠ½-ΡˆΠΊΠΎΠ»Ρ‹ XYZ School. Π Π΅ΠΉΡ‚ΠΈΠ½Π³ 4.7 ΠΈΠ· 5. β€” ΠšΡƒΡ€Ρ «Быстрый старт Π² ITΒ» ΠΎΡ‚ ProductStar. Π Π΅ΠΉΡ‚ΠΈΠ½Π³ 4.8 ΠΈΠ· 5. ДСсятки Π΄Ρ€ΡƒΠ³ΠΈΡ… курсов для программистов ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π½Π° маркСтплСйсС tutortop⚑️