Π­Ρ‚ΠΎΡ‚ конспСкт Π½Π΅ сохранится

Π—Π°ΠΊΡ€ΠΎΠ΅ΡˆΡŒ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ β€” ΠΏΠΎΡ‚Π΅Ρ€ΡΠ΅ΡˆΡŒ. ЗарСгистрируйся β€” ΠΈ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ навсСгда.

Telegram

Π’Π°Ρˆ конспСкт

YouTubeΠ—Π°Ρ‡Π΅ΠΌ ΡƒΡ‡ΠΈΡ‚ΡŒ C++ Π² 2026? ЛСкция Антона ΠŸΠΎΠ»ΡƒΡ…ΠΈΠ½Π° Π² Π˜Π½ΡΡ‚ΠΈΡ‚ΡƒΡ‚Π΅ iSpring

🎯 ΠšΠ°Ρ€ΡŒΠ΅Ρ€Π½Ρ‹ΠΉ рост ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ для C++ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ тСзисы:
.### πŸ’‘ ΠŸΡƒΡ‚ΠΈ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ роста

  • Π Π°Π±ΠΎΡ‚Π° β€” самый прямой ΠΏΡƒΡ‚ΡŒ, Π½ΠΎ Π½Π΅ всСм доступСн сразу.
  • ΠšΡƒΡ€ΡΡ‹/ΠΊΠ½ΠΈΠ³ΠΈ/ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ β€” ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, Π½ΠΎ часто Π½Π΅ Π΄Π°ΡŽΡ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ.
  • Open Source β€” ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для получСния ΠΎΠΏΡ‹Ρ‚Π°, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи ΠΎΡ‚ экспСртов ΠΈ строчки Π² Ρ€Π΅Π·ΡŽΠΌΠ΅.

πŸ” Как Π½Π°Ρ‡Π°Ρ‚ΡŒ с Open Source

  1. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎ Π΄ΡƒΡˆΠ΅ (ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ, Boost, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ, OpenCV, машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅).
  2. Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ исходный ΠΊΠΎΠ΄ ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ.
  3. НайдитС Π·Π°Π΄Π°Ρ‡ΠΈ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ Π±Π°Π³-Ρ‚Ρ€Π΅ΠΊΠ΅Ρ€Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΊΠ°ΠΊ good first issue).
  4. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈ Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ мноТСству ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠ΅ ΠΎΡ‚ ΠΌΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².

🏒 ΠŸΡ€ΠΎΡ†Π΅ΡΡ собСсСдования Π² IT-компаниях

πŸ“‹ Π­Ρ‚Π°ΠΏΡ‹ собСсСдования (обобщённая модСль)

  1. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ собСсСдованиС β€” ΠΎΡ†Π΅Π½ΠΊΠ° Ρ€Π΅Π·ΡŽΠΌΠ΅ ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Π·Π½Π°Π½ΠΈΠΉ.
  2. НаписаниС ΠΊΠΎΠ΄Π° β€” Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ алгоритмичСских Π·Π°Π΄Π°Ρ‡.
  3. АрхитСктурноС собСсСдованиС β€” ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСм.
  4. ЀинальноС собСсСдованиС β€” встрСча с Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠΌ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ.

✍️ БСкция написания ΠΊΠΎΠ΄Π°

  • Π€ΠΎΡ€ΠΌΠ°Ρ‚: ΠΎΠ½Π»Π°ΠΉΠ½-Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, листок с Ρ€ΡƒΡ‡ΠΊΠΎΠΉ (Ρ…Π°Ρ€Π΄ΠΊΠΎΡ€).
  • Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ: ΠΎΡ‚ простых (strlen) Π΄ΠΎ слоТных алгоритмичСских.
  • Как ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒΡΡ: Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Π²Ρ€ΠΎΠ΄Π΅ Codeforces.

πŸ—οΈ АрхитСктурноС собСсСдованиС

  • Π‘ΡƒΡ‚ΡŒ: обсуТдСниС проСктирования слоТных систСм (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой TwitterΒ»).
  • Π’Π°ΠΊΡ‚ΠΈΠΊΠ°: Π½Π΅ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ сразу, Π° Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ мноТСство ΡƒΡ‚ΠΎΡ‡Π½ΡΡŽΡ‰ΠΈΡ… вопросов (ΠΏΡ€ΠΎ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, стСк Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, прСдпочтСния ΠΏΠΎ Π‘Π”).
  • ПолСзная Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°: ΠΊΠ½ΠΈΠ³Π° «ВысоконагруТСнныС прилоТСния» (Β«ΠΊΠ½ΠΈΠΆΠΊΠ° с ΠΊΠ°Π±Π°Π½Ρ‡ΠΈΠΊΠΎΠΌΒ»).

πŸ‘¨β€πŸ’Ό ЀинальноС собСсСдованиС

  • ЦСль: ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΎΠΏΡ‹Ρ‚, ΠΌΠΎΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ ΠΈ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ Π·Π½Π°Π½ΠΈΠΉ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ области.
  • Вопросы: ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ нСстандартными, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΡΡ€ΡƒΠ΄ΠΈΡ†ΠΈΡŽ ΠΈ ΡΡ‚Ρ€Π°ΡΡ‚ΡŒ ΠΊ профСссии.
  • Π’Π°ΠΆΠ½ΠΎ: Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ (ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΠ½Ρ‚Ρ€ΠΈΠ±Ρ‹ Π² Open Source).

πŸ› οΈ ВСхнологичСский стСк: Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠΌΠΈΠΌΠΎ C++

πŸ”§ ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ инструмСнты

  • БистСмы контроля вСрсий (Git) β€” основа ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.
    • ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: checkout, pull, add, commit, push, diff, status.
    • Π—Π°Ρ‡Π΅ΠΌ: ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ измСнСниями, Ρ€Π΅Π²ΡŒΡŽ ΠΊΠΎΠ΄Π°, Ρ€Π°Π±ΠΎΡ‚Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅.
  • Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Ρ‹Π΅ языки (Python, Bash) β€” для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ (массовоС ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΡ€Π°Π²ΠΊΠ° ΠΊΠΎΠ΄Π°, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…).
  • Π―Π·Ρ‹ΠΊΠΈ запросов (SQL ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅) β€” для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.
    • НуТно ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.
    • ΠœΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ экзотичныС языки (для Π³Ρ€Π°Ρ„ΠΎΠ², Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ языки ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ).
  • Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (JSON, YAML, Protobuf, MessagePack) β€” для ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ систСмами.

βš™οΈ Π“Π»ΡƒΠ±ΠΎΠΊΠΈΠ΅ знания для C++ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

  • ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы β€” ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ контСкста, page faults, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° (select, poll, epoll).
  • АссСмблСр β€” Π½Π΅ для написания, Π° для чтСния ΠΈ понимания, Π²ΠΎ Ρ‡Ρ‚ΠΎ компилируСтся C++ ΠΊΠΎΠ΄. ПолСзСн для Π΄Π΅Π±Π°Π³Π° ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.
    • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚: сайт godbolt.org для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ изучСния ассСмблСрного Π²Ρ‹Π²ΠΎΠ΄Π°.
  • ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ β€” Π² зависимости ΠΎΡ‚ спСциализации ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π·Π½Π°Π½ΠΈΠ΅ Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΠΈ, лингвистики, Ρ„ΠΈΠ·ΠΈΠΊΠΈ, ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΈ Ρ‚.Π΄.

⚑ C++: ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΈ соврСмСнныС Ρ„ΠΈΡ‡ΠΈ

🧠 Идиома RAII (Resource Acquisition Is Initialization)

  • Π‘ΡƒΡ‚ΡŒ: привязка ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° рСсурса (ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ρ„Π°ΠΉΠ») ΠΊ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠΌΡƒ Ρ†ΠΈΠΊΠ»Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.
  • ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°: автоматичСскоС освобоТдСниС рСсурсов, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ…, Π±ΠΎΠ»Π΅Π΅ чистый ΠΊΠΎΠ΄.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€: std::string vs Ρ€ΡƒΡ‡Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π² C.

πŸ“¦ ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈ ΡƒΠΌΠ½Ρ‹Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ

  • std::shared_ptr β€” ΡƒΠΌΠ½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ с подсчётом ссылок. ΠœΠΈΠ½ΡƒΡ: ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ слоТным пСрСплСтСниям владСния.
  • std::unique_ptr β€” ΡƒΠΌΠ½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ΠΌ. РСкомСндуСтся ΠΊ использованию.
  • std::vector β€” самый популярный ΠΈ эффСктивный ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ (кэш-Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΉ).
  • std::unordered_map β€” Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Π°. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ…ΡΡˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ.
    • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ (C++20): использованиС ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠ°Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Ρ…ΡΡˆΠ΅Ρ€ΠΎΠ² для избСТания Π»ΠΈΡˆΠ½ΠΈΡ… Π°Π»Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ.

🧡 ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ Π°Ρ‚ΠΎΠΌΠΈΠΊΠΈ

  • std::atomic β€” атомарная пСрСмСнная для бСзопасной Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ².
  • Memory order: рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ порядок ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (sequentially consistent), особСнно ΠΏΡ€ΠΈ пСрСносС ΠΊΠΎΠ΄Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ (ARM).
  • Π’Π°ΠΆΠ½ΠΎ: volatile Π½Π΅ являСтся Π·Π°ΠΌΠ΅Π½ΠΎΠΉ Π°Ρ‚ΠΎΠΌΠΈΠΊΠΎΠ² Π² C++.

πŸ” Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ качСства ΠΊΠΎΠ΄Π°

  • Π‘Π°Π½Π°Ρ‚Π°ΠΉΠ·Π΅Ρ€Ρ‹ β€” инструмСнты runtime-Π°Π½Π°Π»ΠΈΠ·Π°.
    • AddressSanitizer (ASan): ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ памяти, Π²Ρ‹Ρ…ΠΎΠ΄ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹.
    • UndefinedBehaviorSanitizer (UBSan): Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
    • ThreadSanitizer (TSan): Π³ΠΎΠ½ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….
    • MemorySanitizer (MSan): нСинициализированная ΠΏΠ°ΠΌΡΡ‚ΡŒ (Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ сборки всСх зависимостСй).
  • Π›ΠΈΠ½Ρ‚Π΅Ρ€Ρ‹ β€” статичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π°.
    • ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ: concurrency-mt-unsafe, Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС std::optional, нСявныС ΠΊΠΎΠΏΠΈΠΈ Π² Ρ†ΠΈΠΊΠ»Π°Ρ…, отсутствиС noexcept Ρƒ конструкторов пСрСмСщСния.

πŸš€ Новинки ΠΈ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ C++

  • РСфлСксия (C++26) β€” Π°Π½Π°Π»ΠΈΠ· структуры ΠΊΠΎΠ΄Π° Π½Π° этапС компиляции (ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ^ ΠΈ [: ... :]). ΠŸΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ (сСриализаторы, парсСры).
  • ΠšΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρ‹ β€” Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ прСдусловий ΠΈ постусловий для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π”Π°ΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ компилятору для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΈ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.
  • Ranges (C++20) β€” Π»Π΅Π½ΠΈΠ²Ρ‹Π΅, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ. ΠžΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎ: ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с висящими ссылками ΠΏΡ€ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π΅ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
  • Π’ ΠΏΠ»Π°Π½Π°Ρ… (C++29+): pattern matching, ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ (ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ частСй языка), ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ для Ranges ΠΈ executors, Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ сСтСвыми Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ.

πŸ’Ž Π’Ρ‹Π²ΠΎΠ΄Ρ‹

  1. Π˜Π½ΡΡ‚ΠΈΡ‚ΡƒΡ‚ Π΄Π°Ρ‘Ρ‚ Π±Π°Π·Ρƒ, Π½ΠΎ для роста Π½ΡƒΠΆΠ½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. Open Source β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ способ Π΅Ρ‘ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ.
  2. БобСсСдованиС β€” многоэтапный процСсс, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ тСхничСски, Ρ‚Π°ΠΊ ΠΈ стратСгичСски.
  3. C++ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ β€” это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π½Π°Π½ΠΈΠ΅ языка, Π½ΠΎ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ОБ, инструмСнтов, смСТных Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области.
  4. Π―Π·Ρ‹ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ развиваСтся (рСфлСксия, ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρ‹, ranges), открывая Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ ΠΈ возмоТности для написания бСзопасного ΠΈ эффСктивного ΠΊΠΎΠ΄Π°.
πŸš€ ΠŸΡƒΡ‚ΡŒ C++ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°: ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π°, собСсСдования, стСк β€” конспСкт Π½Π° EchoNote