рдпрд╣ рд╣рдмрдкреЛрд╕реНрдЯ рдирд┐рдХреЛрд▓рдИ рдЬреЛрд╕реБрддрд┐рд╕, рддреИрдореВрд░ рдбреВрдорд▓рд░, рдПрдВрдбреНрд░реА рдбреЗрд╡рд┐рдбреЛрд╡ рдФрд░ рдХрдИ рдЕрдиреНрдп рдЬреИрд╕реЗ рд╡рдХреНрддрд╛рдУрдВ рд╕реЗ рд╢реАрд░реНрд╖ рджрд╕ рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд▓рд╛рддрд╛ рд╣реИред
C ++ 17/20/23, рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ, рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ, рд╕рдВрдЧрд╛рдорд┐рддрд┐, рд╕рдорд╛рдирддрд╛, рдореЗрдЯрд╛рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ - рдпреЗ рд╕рднреА C ++ рд░реВрд╕ 2019 рд╕рдореНрдореЗрд▓рди рдХреЗ рд╡рд┐рд╖рдп рд╣реИрдВ рдЬреЛ рдорд╛рд╕реНрдХреЛ рдореЗрдВ рдЗрд╕ рд╡рд╕рдВрдд рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдП рдЧрдП рдереЗред рдЫрд╣ рд╕реМ рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ, рдЬрд╛рдиреЗ-рдорд╛рдиреЗ рдЕрдВрддрд░рд░рд╛рд╖реНрдЯреНрд░реАрдп рд╡рдХреНрддрд╛рдУрдВ, рдЗрди-рдбреЗрдкреНрде рд░рд┐рдкреЛрд░реНрдЯред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ - рд░рд┐рдкреЛрд░реНрдЯреЗрдВ рдРрд╕реА рд╣реИрдВ рдХрд┐ рд╡реЗ рдмрд╣реБрдд рдЬрд▓реНрдж рдкреБрд░рд╛рдиреА рд╣реЛ рдЬрд╛рдПрдВрдЧреА, рдФрд░ рдЖрдк рдкреНрд░рд╛рдкреНрдд рдЬреНрдЮрд╛рди рдХреЛ рдЕрдм рднреА рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкреНрд░рд╛рд░реВрдк рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
- рдЕрдирд┐рд╡рд╛рд░реНрдп YouTube рд╡реАрдбрд┐рдпреЛ
- рд░реВрд╕реА рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг (рд╕реНрд▓рд╛рдЗрдбреНрд╕ рдХреЗ рд╕рд╛рде, рдпрджрд┐ рдХреЛрдИ рд╣реЛ)
- рд╡рдХреНрддрд╛ рдХреА рд▓рдШреБ рдЬреАрд╡рдиреА
рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ! рд╡реИрд╕реЗ, рдХрдЯ рдХреЗ рддрд╣рдд рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреНрд▓реЗрд▓рд┐рд╕реНрдЯ рдореЗрдВ, рдХреЗрд╡рд▓ рд╢реАрд░реНрд╖ 10 рдирд╣реАрдВ рд╣реИред рдФрд░ рд╣рдордиреЗ YouTube рдкрд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдмрдВрдж рдХрд░ рджрд┐рдП, рддрд╛рдХрд┐ рдХреЛрдИ рднреА рд╣рд╕реНрддрдХреНрд╖реЗрдк рди рдХрд░реЗред
рд╕рднреА рд░рд┐рдкреЛрд░реНрдЯ рд░реЗрдЯрд┐рдВрдЧ рдореЗрдВ "рдЬреВрдирд┐рдпрд░" рд╕реЗ "рд╡рд░рд┐рд╖реНрда" рддрдХ рдЬрд╛рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╢реАрд░реНрд╖ рджрд╕ рдХреЗ рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдиреНрдпреВрдирддрдо рд╣реИрдВ рдФрд░ рджреГрдврд╝рддрд╛ рд╕реЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдкрджреНрдзрддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓рдХрд░, рдЖрдк рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдмрд╣реБрдд рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рддреЛ рдпрд╣ рд╕рдм рджреЗрдЦреЛ!
рдкреВрд░реНрдг рд╕рдореНрдореЗрд▓рди рдкреНрд▓реЗрд▓рд┐рд╕реНрдЯ рдпрд╣рд╛рдВ рд╣реИ ред
рд╡рд┐рдХреНрдЯрд░ рдХрд┐рд░рд┐рд▓реЛрд╡
рд╕реНрд▓рд╛рдЗрдб рд╢реЛ
C ++ рдЕрдкрдиреЗ рдкреНрд░рджрд░реНрд╢рди, рдЧрддрд┐, рдПрдХ рдорд╛рдирдХ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреА рдХрдореА рдФрд░ рд╕рдВрдХрд▓рди рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдФрд░ рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рддреЗрдЬреА рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рдХрд╛рд╕ рдХреА рдЕрд╕рдВрднрд╡рддрд╛ рдбреЗрд╡рд▓рдкрд░ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреЗ рд╕рдмрд╕реЗ рдорд╣рд╛рди рд╣рддреНрдпрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдпрд╣ рд░рд┐рдкреЛрд░реНрдЯ рдЙрди рд╕рднреА рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рдЕрдВрддрд┐рдо рддреАрди рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: рдкрд╣рд▓рд╛, рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рдХреНрдпреЛрдВ рд╕рдВрдХрд▓рди рдФрд░ рд▓рд┐рдВрдХрд┐рдВрдЧ рдореЗрдВ рдЗрддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдлрд┐рд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрдХрдиреАрдХреЛрдВ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
- рдЯреНрдпреВрдирд┐рдВрдЧ рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ - рд╣рд╛рд░реНрдбрд╡реЗрдпрд░, рдЕрд╕реЗрдВрдмрд▓реА рд╕рд┐рд╕реНрдЯрдо, рдХреИрд╢рд┐рдВрдЧ, рд╡рд┐рддрд░рд┐рдд рдЕрд╕реЗрдВрдмрд▓реА, рдЕрдбрд╝рдЪрди рдирд┐рджрд╛рди, рдХреЛрдб рд╕реНрд╡рдЪреНрдЫрддрд╛;
- рддрдХрдиреАрдХ - рдПрдХрддрд╛ рдмрдирд╛рддрд╛ рд╣реИ, рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рд╣реЗрдбрд░, рд╕реНрдерд┐рд░ рдмрдирд╛рдо рд╕рд╛рдЭрд╛;
- рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди - PIMPL рдореБрд╣рд╛рд╡рд░рд╛, рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХрд╛ рдЕрдзрд┐рдХ рд╕рд╣реА рдЙрдкрдпреЛрдЧ, рдПрдиреЛрдЯреЗрд╢рди;
- рдореЙрдбреНрдпреВрд▓ - рдпрд╣ рдХреНрдпрд╛ рд╣реИ рдЬрдм рд╡реЗ рд╕реА ++ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рдЕрдзрд┐рдХ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рд╕реНрдкреАрдХрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдЧреЗрдорд┐рдВрдЧ рдФрд░ рд╡реАрдПрдлрдПрдХреНрд╕ рдЙрджреНрдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реА ++ рдореЗрдВ рдЫрд╣ рд╕рд╛рд▓ рдХрд╛ рдкреЗрд╢реЗрд╡рд░ рдЕрдиреБрднрд╡ред рдЕрдм рд╡рд┐рдХреНрдЯрд░ рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рдФрд░ рд╕рдордп-рд╕рдордп рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ - рд╕рд╛рдорд╛рдиреНрдп рдЕрдиреБрдмрдВрдз рдХрд╛рд░реНрдпред рдЕрдВрддрд┐рдо рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдирд┐рдо рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рд╣реЙрдЯ-рд╕реНрд╡реИрдкрд┐рдВрдЧ рдХреЛрдб рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рд╡рд╣ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд▓реЗрдЦрдХ рднреА рд╣реИрдВ, "C ++ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рддреЗрдЬ рдФрд░ рд╕рдмрд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕рд┐рдВрдЧрд▓ рд╣реИрдбрд░ рдЯреЗрд╕реНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реАред" рд╡рд╣ рдЧреЗрдо рдФрд░ рдЧреЗрдо рдЗрдВрдЬрди, рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рдХреЛрдб, рдХреНрд░рд┐рдкреНрдЯреЛрдХреНрдпреВрд░реЗрдВрд╕реА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ, рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рдФрд░ рдЕрдЪреНрдЫреЗ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдерд╛рдУрдВ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдЖрдзреБрдирд┐рдХ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди рдЯреВрд▓ред рд╡рд┐рдХреНрдЯрд░ рд╕реЛрдлрд┐рдпрд╛ (рдмреБрд▓реНрдЧрд╛рд░рд┐рдпрд╛) рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЙрд╕рдХрд╛ рдкреЗрд╢рд╛ рдФрд░ рд╢реМрдХ рджреЛрдиреЛрдВ рд╣реИред рдЕрдкрдиреА рдЦреБрдж рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╣реИ: http://onqtam.com/
рд╕рд░реНрдЧреЗрдИ рдлреЗрдбреЛрд░реЛрд╡
рд╕реНрд▓рд╛рдЗрдб рд╢реЛ
рдЬрдм рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЕрдХреНрд╕рд░ рдХрдЪреНрдЪреЗ рдмрдлрд╝рд░реНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рд╣рдо рд╕реА ++ рд╕рдВрд░рдЪрдирд╛рдУрдВ, рдХрдХреНрд╖рд╛рдУрдВ рдФрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рд▓рдЧрднрдЧ рд╕рднреА рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз C ++ 17 рднрд╛рд╖рд╛ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд╛рдирд╡ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде PostgreSQL рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдХрд╣рд╛рдиреАред
рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди-рд╕реНрддрд░реАрдп рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕реНрдкреАрдХрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
Yandex.Taxi рдХреЗ рдПрдХ рдкреНрд░рдореБрдЦ рдбреЗрд╡рд▓рдкрд░ рд╕реЗрд░реНрдЧреЗрдИ рдлреЗрдбреЛрд░реЛрд╡ рдЯреИрдХреНрд╕реА рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдврд╛рдВрдЪрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореЗрдЯрд╛рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдФрд░ рдУрдкрди рд╕реЛрд░реНрд╕ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдкреНрд░рд╢рдВрд╕рдХред
рдЗрд╡рд╛рди ─Зuki─З
RAII рдкрдХрдбрд╝реЗ рдЧрдП рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рд╕рдВрд╕рд╛рдзрди рд╣реИ рдЬрд┐рд╕реЗ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдпрд╣ рд╕рдордп рд╣реИред
рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкреНрд░рддрд┐рдпрд╛рдВ рдмрдирд╛ рд░рд╣реА рд╣реИред C ++ 11 рдореВрд╡ рд╢рдмреНрджрд╛рд░реНрде рдиреЗ рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рдХрджрдо рдЙрдард╛рдпрд╛ред рдпрд╣ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдХреЙрдкреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреБрд░реНрдорд╛рдирд╛ рдХреЗ рдмрд┐рдирд╛ рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд░реЗрд╕рд┐рдВрдЧ рдХреЗ рдЬреЛрдЦрд┐рдо рдХреЗ рдмрд┐рдирд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрдм рдбреЗрдЯрд╛ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реЛрддреЗ рд╣реИрдВред
рдЗрд╕ рд╡рд╛рд░реНрддрд╛ рдореЗрдВ, рд╣рдо рдПрдХ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЪрд░реНрдЪрд╛ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдВрдЧреЗ, рдЬреЛ рдХреЗрд╡рд▓ рд╡рд┐рд╢реЗрд╖, рдЕрдХрд╛рд░рдг, рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд░реИрдЦрд┐рдХ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рдо C ++ рдХреА рдЙрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╣рдореЗрдВ рдРрд╕реЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░реЗрдЧреАред
рдЗрд╕рдХреЗ рд▓рд┐рдП, C ++ 20, && - рдпреЛрдЧреНрдп рдХрд╛рд░реНрдпреЛрдВ, рдЖрджрд┐ рд╕реЗ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИред
рд╕реНрдкреАрдХрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдЗрд╡рд╛рди рдЪреБрдЗрдЪ, рдореИрдирд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд C ++ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓реЗрдЦрдХ рд╣реИрдВред рдХреЗрдбреАрдИ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд╣ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдореЗрдВ рдЖрдзреБрдирд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддрдХрдиреАрдХ рд╕рд┐рдЦрд╛рддрд╛ рд╣реИ, рдЕрдкрдиреЗ рдЫрд╛рддреНрд░реЛрдВ рдХреЛ C ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ 20 рд╡рд░реНрд╖реЛрдВ рдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ C ++ рдХреЗ рджреМрд░рд╛рди рдФрд░ рдмрд╛рдж рдореЗрдВ C ++ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛, рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЗрди рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рд░реЗрдирд░ рдЧреНрд░рд┐рдо
рдзрд╛рдЧреЗ, рдкрд░рдорд╛рдгреБ, рдореНрдпреВрдЯреЗрдХреНрд╕ рдФрд░ рд╕рд╢рд░реНрдд рдЪрд░ рдХреЗ рдмреАрдЪ рдХреНрдпрд╛ рдЖрдо рд╣реИ? рдпреЗ рд╕рднреА C ++ рдореЗрдВ рдХрд┐рд╕реА рднреА рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдмреНрд▓реЙрдХ рд╣реИрдВ, рдФрд░ рд╡реЗ рдЕрдиреБрднрд╡реА C ++ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рднреА рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рд╕реНрдерд┐рддрд┐ C ++ 17 рдореЗрдВ рдирд╛рдЯрдХреАрдп рд░реВрдк рд╕реЗ рдмрджрд▓ рдЧрдИ рд╣реИ, рдФрд░ C ++ 20/23 рдореЗрдВ рдФрд░ рднреА рдЕрдзрд┐рдХред C ++ 17 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдирдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ, рд╕рдорд╛рдирд╛рдВрддрд░ рдФрд░ рд╕рджрд┐рд╢ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдирд╡реАрдирддрдо рдорд╛рдирдХреЛрдВ рдореЗрдВ, рд╣рдо рдирд┐рд╖реНрдкрд╛рджрдХреЛрдВ рдФрд░ рд▓реЗрди-рджреЗрди рдХреА рд╕реНрдореГрддрд┐ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рд╡рд╛рдпрджрд╛ рдФрд░ рдХреЛрд░рдЯрд╛рдЗрди рдореЗрдВ рдмрдбрд╝реЗ рд╕реБрдзрд╛рд░ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдФрд░ рдХрдВрд╕реАрдбрд░ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рд┐рд░реНрдл рд╢реБрд░реБрдЖрдд рд╣реИред рдпрд╣ рдЖрд╢рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдХреЗрд╡рд▓ рд╡реЗ (рдирд┐рд╖реНрдкрд╛рджрдХ, рд▓реЗрди-рджреЗрди рдХреА рд╕реНрдореГрддрд┐, рд╡рд╛рдпрджрд╛, рдХреЛрд░рд╛рдЙрдЯрд╛рдЗрди) рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдореВрд░реНрдд рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдереНрд░реЗрдбреНрд╕, рдкрд░рдорд╛рдгреБ, рдореНрдпреВрдЯреЗрдХреНрд╕ рдФрд░ рд╕рд╢рд░реНрдд рдЪрд░ рдХреЗрд╡рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рдмрди рдЬрд╛рдПрдВрдЧреЗред
рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдпрд╣ рджреЗрдЦрдирд╛ рд╣реИ рдХрд┐ рд╣рдо C ++ 17 рдореЗрдВ рдХреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ рдФрд░ C ++ 20/23 рдореЗрдВ рд╣рдо рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реНрдкреАрдХрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рд░реЗрдирд░ рдЧреНрд░рд┐рдо рд▓рдЧрднрдЧ 20 рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдПрдХ рд╡рд╛рд╕реНрддреБрдХрд╛рд░, рдЯреАрдо рд▓реАрдбрд░ рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЕрдкрдиреЗ рдЦрд╛рд▓реА рд╕рдордп рдореЗрдВ рд╡рд╣ C ++, рдкрд╛рдпрдерди рдФрд░ рд╣рд╛рд╕реНрдХреЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ рд▓рд┐рдЦрдирд╛ рдФрд░ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдореЗрдВ рдмреЛрд▓рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рдЕрдХреНрд╕рд░ рдЕрдкрдиреЗ рдмреНрд▓реЙрдЧ "рдЖрдзреБрдирд┐рдХ C ++" рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рд╡рд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЖрдзреБрдирд┐рдХ рд╕реА ++ рдФрд░ рдкрд╛рдпрдерди рдкрд░ рд╕реЗрдорд┐рдирд╛рд░ рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдЙрдирдХреА рдкреБрд╕реНрддрдХреЗрдВ C ++ 11 рдлрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░, C ++, C ++ Standardbibliothek рдФрд░ The C ++ Standard Library рджреЛрдиреЛрдВ O'Reilly рдФрд░ Leanpub рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реИрдВред
рдПрдВрдбреНрд░реА рдбреЗрд╡рд┐рдбреЛрд╡
рдХреЛрдИ рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЬреЛ C ++ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдбреВрдм рдЧрдпрд╛ рд╣реИ, рд╡рд╣ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЯреЗрдореНрдкрд░рд┐рдВрдЧ рдЯреНрдпреВрд░рд┐рдВрдЧ-рдкреВрд░реНрдг рд╣реИ, "рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╡рд┐рдлрд▓рддрд╛ рдПрдХ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ" рдФрд░ рд╕рдВрдХрд▓рди-рд╕рдордп рдореЗрдВ рдЖрдк рдЕрджреНрднреБрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдХрднреА-рдХрднреА рдЙрдкрдпреЛрдЧреА рдЪреАрдЬреЗрдВ рднреАред рджреВрд╕рд░реА рдУрд░, рдПрдХ рдЕрдиреБрднрд╡реА C ++ рдбреЗрд╡рд▓рдкрд░ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ "рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ" рдХрд╛ рдорддрд▓рдм "рдЖрдкрдХреА рдЬрд╝рд░реВрд░рдд" рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдореЗрдЯрд╛рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рджреБрд░реБрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореБрдЦреНрдп рдмрд╛рдзрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕рдВрдХрд▓рди рд╕рдордп рд╣реИ, рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдЪрд░реНрдЪрд╛ рдХрд░рддреА рд╣реИ рдХрд┐ рд╕рдВрдХрд▓рдХ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдХреМрди рд╕реЗ рд╕рдВрдЪрд╛рд▓рди / рддрдХрдиреАрдХ рд╕рдмрд╕реЗ рдорд╣рдВрдЧреА рд╣реИрдВ рдФрд░ рдЙрдирд╕реЗ рдХреИрд╕реЗ рдмрдЪрд╛ рдЬрд╛рдПред
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореБрджреНрджреЛрдВ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ рдЧрдпрд╛:
- рдХреНрдпреЛрдВ SFINAE рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЦрд┐рд░реА рдЪреАрдЬ рд╣реИ;
- рдХреНрдпреЛрдВ std :: рд╕рд╢рд░реНрдд_t рдХреЛ рдЕрдХреНрд╖рдо рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
- Microsoft STL рдФрд░ libc ++ рдореЗрдВ рдЯрдкрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмреАрдЪ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ;
- рдЬрдм std :: {conjunction, disjunction} рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛ, рдФрд░ рдЬрдм рдлреЛрд▓реНрдб рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛ;
- рдЖрдкрдХреЛ std рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП :: void_t;
- C ++ 20 рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ рдХреИрд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИрдВред
рд╕реНрдкреАрдХрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдкрд┐рдЫрд▓реЗ 3 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рдПрдВрдбреНрд░реА рдЬреЗрдЯрдмреНрд░реЗрди рдореЗрдВ ReSharper C ++ рдЯреАрдо рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдЕрддреАрдд рдореЗрдВ рд╡рд╣ рдЬреАрдЖрдИрдПрд╕ рдФрд░ 3 рдбреА-рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдФрджреНрдпреЛрдЧрд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рдереЗред
рдПрдВрдЯреЛрди рдкреЛрд▓реБрдЦрд┐рди
рдкреНрд░рддреНрдпреЗрдХ рдирдИ-рдкреНрд░рдЪрд▓рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдпрд╣ рдмрддрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреА рд╣реИ рдХрд┐ рдпрд╣ C ++ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдИ рдЧреБрдирд╛ рдмреЗрд╣рддрд░, рддреЗрдЬ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИ рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдмреЗрд╣рддрд░ рд╣реИред
рдЖрдЗрдП рджреЗрдЦреЗрдВ - рдХрд╣рд╛рдВ рд╣реИ рд╕рдЪреНрдЪрд╛рдИ, рдФрд░ рдХрд╣рд╛рдВ рд╣реИ рдлрд┐рдХреНрд╢рди C ++ рдФрд░ Asm / Rust / Go / Java / C # ... рдХреЗ рдмреАрдЪ рд▓рдбрд╝рд╛рдИ рд╢реБрд░реВ рд╣реЛрдиреЗ рджреЗрдВ!
рд╕реНрдкреАрдХрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдорд╛рдирдХреАрдХрд░рдг C ++ рдкрд░ рдХрд╛рд░реНрдп рд╕рдореВрд╣ рдХреА рдЕрдВрддрд░рд░рд╛рд╖реНрдЯреНрд░реАрдп рдмреИрдардХреЛрдВ рдореЗрдВ рдЖрдИрдПрд╕рдУ рдореЗрдВ рд░реВрд╕ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐ред C ++ рднрд╛рд╖рд╛ рдорд╛рдирдХ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реНрд╡реАрдХреГрдд рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдХреЗ рд▓реЗрдЦрдХред
рдмреВрд╕реНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓реЗрдЦрдХ рдЯрд╛рдЗрдкрдЗрдВрдбреЗрдХреНрд╕, рдбреАрдПрд▓рдПрд▓, рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ рдФрд░ рд╕рдХреНрд░рд┐рдп рдЕрдиреБрд░рдХреНрд╖рдХ рдХреЛрдИ рднреА, рд░реВрдкрд╛рдВрддрд░рдг, рд▓реЗрдХреНрд╕рд┐рдХрд▓рдХреИрд╕реНрдЯ, рд╡реЗрд░рд┐рдПрдВрдЯред
рд╡рд╣ рдмреВрд╕реНрдЯ рд╕реА ++ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреБрдХрдмреБрдХ рдФрд░ рд╕реЗрдХрдВрдб рдПрдбрд┐рд╢рди рдХреЗ рд▓реЗрдЦрдХ рд╣реИрдВред
рдЬреБрдЖрди рдкреЗрдбреНрд░реЛ рдмреЛрд▓рд┐рд╡рд░ рдкреБрдПрдВрддреЗ
рд╕реА ++ рдПрд▓реАрдЯ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░рдХреЗ рдореВрд▓реНрдп рд╢рдмреНрджрд╛рд░реНрде, рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдпрддрд╛ рдФрд░ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реИред рд╣рдо рдореНрдпреВрдЯреЗрдХреНрд╕, рджреМрдбрд╝, рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХреЛрдВ, "рдЯреАрдо" рдкреИрдЯрд░реНрди рдФрд░ рдЙрд╕ рд╕рднреА рдЬреИрдЬ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдмреЗрд╣рддрд░ рджреБрдирд┐рдпрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЬрдм рдЕрднреНрдпрд╛рд╕ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдореЗрдВ рд╣реИред
рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ - рдЖрдкрдХреЛ рдирдП рдореВрд▓реНрдп рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкреБрд░рд╛рдиреЗ рдорд╛рди рд╡реИрд╕реЗ рд╣реА рдмрдиреЗ рд░рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдк рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрд╡рд░реЛрдз рдХреЗ рдХрдИ рдереНрд░реЗрдб рд╕реЗ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╣рдореЗрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдкреГрдердХреНрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдирдП рдФрд░ рдкреБрд░рд╛рдиреЗ рдореВрд▓реНрдп рд╕рдорд╛рди рдЖрдо рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЙрдирдХреА рддреБрд▓рдирд╛ рдмрд╣реБрдд рдЬрд▓реНрджреА рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдФрд░ рдмрд╣реБрдд рдХрдо рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдкреВрд░реНрд╡рд╡рдд рдЗрддрд┐рд╣рд╛рд╕ред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╡реЗ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдФрд░ рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рд╣реИрдВ: рд╡реЗ рдбреЗрд╕реНрдХрдЯреЙрдк рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рд╕рд░рд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдпрд╣ рдЧреБрдкреНрдд рдШрдЯрдХ рд╣реИ рдЬрд┐рд╕рдиреЗ рдХреНрд▓рдЬреБрд░реЗ рдФрд░ рд╕реНрдХрд╛рд▓рд╛ рдХреА рд╕рдлрд▓рддрд╛ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕реЗ рдлреЗрд╕рдмреБрдХ рдХреЗ рдЗрдореНрдпреВрдЯреЗрдмрд▓.рдЬреЗрдПрд╕ рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред
рдЬреБрдЖрди рдЗрдорд░ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ, рдПрдХ C ++ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреЛ рдЖрдзреБрдирд┐рдХ, рдХреБрд╢рд▓, рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рдЪрд░реНрдЪрд╛ рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдпрддрд╛ рдХреЗ рд╡рд╛рд╕реНрддреБ рд▓рд╛рднреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдФрд░ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдЖрдзреБрдирд┐рдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдкреВрд░реНрдгрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддреНрдпрдВрдд рдХреБрд╢рд▓ рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдирд┐рд░рдВрддрд░ рд╡реЗрдХреНрдЯрд░ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд░рд┐рд▓реИрдХреНрд╕реНрдб рд░реЗрдбрд┐рдХреНрд╕ рдмреИрд▓реЗрдВрд╕реНрдб рдЯреНрд░реАрдЬрд╝)ред рд╣рдордиреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рджреЗрдЦрд╛ - рдПрдХ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдЬрд┐рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╢реИрд▓реА рдореЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреЛрдб рд╕рд┐рд░реНрдл рд╕реБрдкрд░-рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рддрд╛ рд╣реИред рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реЛрддрд╛? рд░рд┐рдкреЛрд░реНрдЯ рдЦреЛрд▓реЗрдВ рдФрд░ рдЕрдкрдиреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ!
рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рддрдХрдиреАрдХреЗрдВ:
рд╕реНрдкреАрдХрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдЬреБрдЖрди рдмрд░реНрд▓рд┐рди рдХреЗ рдПрдХ рдлреНрд░реАрд▓рд╛рдВрд╕ рдХрдВрд╕рд▓реНрдЯреЗрдВрдЯ рдФрд░ рдЗрдВрдЬреАрдирд┐рдпрд░ рд╣реИрдВ рдЬреЛ рд╡реИрд▓реНрдпреВ рдУрд░рд┐рдПрдВрдЯреЗрдб рдбрд┐рдЬрд╝рд╛рдЗрди, рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░, рдЖрдзреБрдирд┐рдХ C ++, рдлрд╝рдВрдХреНрд╢рдирд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдФрд░ рдУрдкрди рд╕реЛрд░реНрд╕ рдХреЗ рд░рдгрдиреАрддрд┐рдХ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рд░рдЦрддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рд╡рд╣ рдПрдмрд▓рдЯрди рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рдереЗ рдФрд░ рд╕рдВрдЧреАрдд рд╕реЗ рдЬреБрдбрд╝реА рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдереЗред рдЙрдиреНрд╣реЛрдВрдиреЗ GNU рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рднреА рднрд╛рдЧ рд▓рд┐рдпрд╛ рдФрд░ рдЧреНрд░реЗрдиреЗрдбрд╛ рдореЗрдВ рд╣реИрдХрд▓реИрдм рдХреА рд╕рд╣-рд╕реНрдерд╛рдкрдирд╛ рдХреАред
рдПрдВрдбреНрд░реА рдбреЗрд╡рд┐рдбреЛрд╡
C ++ 20 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ рдПрдХ рд▓рдВрдмреЗ рдФрд░ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИрдВред рд╡рд░реНрд╖реЛрдВ рд╕реЗ рд╕рдВрдЪрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреА рдЕрдзрд┐рдХрддрд╛ (рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░реАрдп рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЗ рднрд╛рд╖рдгреЛрдВ рд╕рд╣рд┐рдд) рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЕрднреА рднреА рд▓рд╛рдЧреВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ (рдЬреЛ рдорд╛рдирдХ рдХреЗ рд╕рд╛рде рд░реЛрдЬ рд╕реЛрддреЗ рдирд╣реАрдВ рд╣реИрдВ) рдХреЗ рдмреАрдЪ рднреНрд░рдо рдХреА рд╕реНрдерд┐рддрд┐ рд╣реИ рдХрд┐ C ++ 20 рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ рдХреНрдпрд╛ рд╣реИрдВ рдФрд░ рдХреНрдпрд╛ рд╡реЗ рд╣реИрдВ рдЕрдЧрд░ рд╣рдореЗрдВ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рддреЛ рд╣рдореЗрдВ рдЬрд░реВрд░рдд рд╣реИред рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЧрд▓рддреА рдпрд╣ рд╣реИ рдХрд┐ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ 15 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдХреИрд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдИрдВ (рдХреЙрдиреНрд╕реЗрдкреНрдЯ рдлреБрд▓ + рдХреЙрдиреНрд╕реЗрдкреНрдЯ рдореИрдк -> рдХреЙрдиреНрд╕реЗрдкреНрдЯ рд▓рд╛рдЗрдЯ), рдФрд░ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдХреНрдпреЛрдВрдХрд┐ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ (рдЬрд╛рд╡рд╛ / рд╕реА # рдЬреЗрдиреЗрд░рд┐рдХ рд╕реАрдорд╛рдПрдВ, рдЕрдиреБрдЧрд╛рдореА рд▓рдХреНрд╖рдг, ...) рдореЗрдВ рд╕рдорд╛рди рдЯреВрд▓ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИрдВред )ред
рд░рд┐рдкреЛрд░реНрдЯ C ++ 20 рдХреЗ рдЕрд╡рдзрд╛рд░рдгрд╛-рд╕рдВрдмрдВрдзреА рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХреЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрд╡рд▓реЛрдХрди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдЧреА, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдо C ++ 17 рдФрд░ C ++ 20 рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реБрдП STL рдХреЗ рдХреБрдЫ рд╡рд░реНрдЧреЛрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
- std рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП :: рд╡реИрдХрд▓реНрдкрд┐рдХ рдЕрдм рдЖрдкрдХреЛ рдЧрд╣рд░рд╛рдИ 7 рдХреА рд╡рд┐рд░рд╛рд╕рдд рдкрджрд╛рдиреБрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, C ++ 20 рдореЗрдВ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛;
- рдбрд┐рдлреЙрд▓реНрдЯ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ std :: рдЬреЛрдбрд╝реА рдХреЗ рд▓рд┐рдП рдЕрдм C рдЯреЗрдореНрдкрд▓реЗрдЯ 20 - 1 рдЧреИрд░-рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ 2 рдЯреЗрдореНрдкрд▓реЗрдЯ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ;
- рдЕрдХреНрд╕рд░, рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрдХреНрд╖рд╛рдПрдВ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд╣реЛрддреА рд╣реИрдВ, рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрдм рдЯреЗрдореНрдкрд▓реЗрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдЧреБрдг рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рдЕрдзрд┐рдХ рд╕рд╣реА рд╣реИред
рджрд░реНрд╢рдХреЛрдВ рдХреЛ рдЗрд╕ рдмрд╛рдд рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ рдФрд░ SFINAE рдХреНрдпрд╛ рд╣реИрдВред рдорд╛рдирдХ C ++ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдкрд░рд┐рдЪрд┐рдд рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛, рдкреЗрдЪреАрджрдЧрд┐рдпреЛрдВ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рд╕реНрдкреАрдХрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдкрд┐рдЫрд▓реЗ 3 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рдПрдВрдбреНрд░реА рдЬреЗрдЯрдмреНрд░реЗрди рдореЗрдВ ReSharper C ++ рдЯреАрдо рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдЕрддреАрдд рдореЗрдВ рд╡рд╣ рдЬреАрдЖрдИрдПрд╕ рдФрд░ 3 рдбреА-рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдФрджреНрдпреЛрдЧрд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рдереЗред
рддреИрдореВрд░ рдбреВрдорд▓рд░
рдпрд╣ рд╕рд░реНрд╡рд╡рд┐рджрд┐рдд рд╣реИ рдХрд┐ рдЖрд░рдВрднреАрдХрд░рдг рд╢рдмреНрджрд╛рд░реНрде C ++ рдХреЗ рд╕рдмрд╕реЗ рдЬрдЯрд┐рд▓ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕рд┐рдВрдЯреИрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡реЗ рд╕рднреА рдПрдХ рдЬрдЯрд┐рд▓ рдФрд░ рдЪреБрдиреМрддреАрдкреВрд░реНрдг рддрд░реАрдХреЗ рд╕реЗ рдмрд╛рддрдЪреАрдд рдХрд░рддреЗ рд╣реИрдВред C ++ 11 "рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдкреНрд░рд╛рд░рдВрдн" рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд▓рд╛рдпрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЙрд╕рдиреЗ рдФрд░ рднреА рдЬрдЯрд┐рд▓ рдирд┐рдпрдо рдкреЗрд╢ рдХрд┐рдП рдФрд░ рдмрджрд▓реЗ рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ C ++ 14, C ++ 17 рдореЗрдВ рдмреНрд▓реЙрдХ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ C ++ 20 рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ред
рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ, рддреИрдореВрд░ рдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ C ++ рдореЗрдВ рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЕрднрд┐рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд░реВрд▓ рдХреЗ рдореМрдЬреВрджрд╛ рд╕рдВрд╕реНрдХрд░рдг, рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рдЖрд╢реНрдЪрд░реНрдп рдХрд╛ рдПрдХ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЕрд╡рд▓реЛрдХрди рджрд┐рдпрд╛ред рдЗрди рд╕рднреА рдирд┐рдпрдореЛрдВ рдХрд╛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдирд┐рдпрдо рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдПред рдФрд░ рдЕрдВрдд рдореЗрдВ, рддреИрдореВрд░ рдиреЗ рдорд╛рдирдХ рдореЗрдВ рдирд╡реАрдирддрдо рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА, рдЬреЛ рд╕реА ++ 20 рдХреЗ рдЕрд░реНрдерд╡рд┐рдЬреНрдЮрд╛рди рдХреЛ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реНрдкреАрдХрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рддреИрдореВрд░ рдПрдХ рд╕реА ++ рдбреЗрд╡рд▓рдкрд░ рд╣реИ рдЬреЛ рдзреНрд╡рдирд┐ рдФрд░ рд╕рдВрдЧреАрдд рдореЗрдВ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рд░рдЦрддрд╛ рд╣реИ, рдЬреЛ рдЖрдИрдПрд╕рдУ рд╕реА ++ рд╕рдорд┐рддрд┐ рдХреЗ рд╕рджрд╕реНрдп рд╣реИрдВ, рдСрдбрд┐рдпреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЙрдиреНрдлреНрд░реЗрдВрд╕ (рдПрдбреАрд╕реА) рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд┐рджреЗрд╢рдХ рд╣реИрдВред рд╡рд╣ рд╕реНрд╡рдЪреНрдЫ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рдЕрдЪреНрдЫреЗ рдЙрдкрдХрд░рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╕реА ++ рднрд╛рд╖рд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрддрд╛ рд╣реИ, рдФрд░ рд╕рдорд╛рд╡реЗрд╢реА рд╕рдореБрджрд╛рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИред
рдирд┐рдХреЛрд▓рдИ рдЬреЛрд╕реБрдЯрд┐рд╕
C ++ 17 рднрд╛рд╖рд╛ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рджреЛрдиреЛрдВ рдореЗрдВ рдЫреЛрдЯреА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд╕рдВрдпреЛрдЬрди рд╣реИред рдпреЗ рдХреНрд╖рдорддрд╛рдПрдВ рди рдХреЗрд╡рд▓ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдирдИ рдЪреАрдЬреЗрдВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдкреИрд░реЛрдВ рдореЗрдВ рдЧреЛрд▓реА рдорд╛рд░рдиреЗ рдХреЗ рдирдП рддрд░реАрдХреЗ рднреА рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВ - рдЖрдкрдХреА рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ред рдпрд╣ рдХреЛрдИ рд╕рд┐рджреНрдзрд╛рдВрдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ, рдпрд╣рд╛рдБ рдФрд░ рдЕрднреА рд╣реЛрддрд╛ рд╣реИред
рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ, рдирд┐рдХреЛрд▓рд╛рдИ рдиреЗ рдЗрди рд╕рднреА рдЬрд╛рд▓реЛрдВ рдХреЛ рдЫрд╛рдВрдЯрд╛, рдЙрдирдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдФрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдкреАрдЫреЗ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА, рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рджрд┐рдПред рдПрдХ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк C ++ 17 рдХреА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рдЧрд╣рд░рд╛рдИ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реНрдкреАрдХрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдирд┐рдХреЛрд▓реЗ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рд╕рд┐рд╕реНрдЯрдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ, рддрдХрдиреАрдХреА рдкреНрд░рдмрдВрдзрдХ, рд▓реЗрдЦрдХ рдФрд░ рд╕рд▓рд╛рд╣рдХрд╛рд░ рд╣реИрдВред рд╡рд╣ рджреВрд░рд╕рдВрдЪрд╛рд░, рд╡рд┐рддреНрдд рдФрд░ рд╡рд┐рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдордзреНрдп рдФрд░ рдмрдбрд╝реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╡рд╣ рдЕрдкрдиреА рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдФрд░ рдЗрд╕ рддрдереНрдп рдХреЗ рд▓рд┐рдП рд╕рдореБрджрд╛рдп рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рд╕реА ++ ( рдж рд╕реА ++ рд╕реНрдЯреИрдВрдбрд░реНрдб рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рд╕реА ++ рдЯреЗрдореНрдкреНрд▓реЗрдЯ ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд┐рддрд╛рдмреЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ, рднрд╛рд╖рд╛ рдХреА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИред
20 рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП, рд╡рд╣ C ++ рдорд╛рдирдХреАрдХрд░рдг рд╕рдорд┐рддрд┐ рдХрд╛ рдПрдХ рд╕рдХреНрд░рд┐рдп рд╕рджрд╕реНрдп рд╣реИред
рд╕рднреА рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреВрд░реНрдг рдкреНрд▓реЗрд▓рд┐рд╕реНрдЯ рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реИ ред рд╣рдо рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддреЗ рд╣реИрдВ рдХрд┐ рдирдпрд╛ рд╕реА ++ рд░реВрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрдиреЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рд╣реИ рдФрд░ 31 рдЕрдХреНрдЯреВрдмрд░ - 1 рдирд╡рдВрдмрд░, 2019 рдХреЛ рд╕реЗрдВрдЯ рдкреАрдЯрд░реНрд╕рдмрд░реНрдЧ рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЯрд┐рдХрдЯ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЦрд░реАрджреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред