рдорд╛рдпрдХреНрд░реЛрд╕реЙрдлреНрдЯрдиреЗ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдУрд╕рд╣ рд╕реА++ рдорд╛рдирдХ рд▓рд╛рдпрдмреНрд░рд░реА рдУрдкрди рд╕реЛрд░реНрд╕ рдХреЗрд▓реА

рдЖрдЬрдХрд╛рд▓ рд╣реЛрдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ CppCon 2019 рдкрд░рд┐рд╖рджреЗрдд, Microsoft рдШреЛрд╖рдгрд╛ рдХреЗрд▓реА C++ рд╕реНрдЯрдБрдбрд░реНрдб рд▓рд╛рдпрдмреНрд░рд░реА (STL, C++ рд╕реНрдЯрдБрдбрд░реНрдб рд▓рд╛рдпрдмреНрд░рд░реА) рдЪреНрдпрд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪрд╛ рдХреЛрдб рдЙрдШрдбрдгреНрдпрд╛рдмрджреНрджрд▓, рдЬреЗ MSVC рдЯреВрд▓рдХрд┐рдЯ рдЖрдгрд┐ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдУ рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдЪрд╛ рднрд╛рдЧ рдЖрд╣реЗ. рд▓рд╛рдпрдмреНрд░рд░реА рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ C++ 14 рдЖрдгрд┐ C++ 17 рдорд╛рдирдХрд╛рдВрдордзреНрдпреЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рддреЗ рдЖрдгрд┐ рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрд░рдд рдорд╕реБрджреНрдпрд╛рддреАрд▓ рдмрджрд▓рд╛рдВрдирдВрддрд░ рднрд╡рд┐рд╖реНрдпрд╛рддреАрд▓ C++ 20 рдорд╛рдирдХрд╛рдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдд рдЖрд╣реЗ. рдХреЛрдб рдЦреБрд▓реЗ рдЖрд╣реЗ Apache 2.0 рд▓рд╛рдпрд╕рдиреНрд╕ рдЕрдВрддрд░реНрдЧрдд рдмрд╛рдпрдирд░реА рдлрд╛рдЗрд▓реНрд╕рдЪреНрдпрд╛ рдЕрдкрд╡рд╛рджрд╛рдВрд╕рд╣ рдЬреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рдлрд╛рдЗрд▓реНрд╕рдордзреНрдпреЗ рд░рдирдЯрд╛рдЗрдо рд▓рд╛рдпрдмреНрд░рд░реА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рддрд╛рдд.

рднрд╡рд┐рд╖реНрдпрд╛рдд рдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реАрдЪрд╛ рд╡рд┐рдХрд╛рд╕ GitHub рд╡рд░ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЦреБрд▓реНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рд░реВрдкрд╛рдд рдХрд░рдгреНрдпрд╛рдЪреЗ рдирд┐рдпреЛрдЬрд┐рдд рдЖрд╣реЗ, рджреБрд░реБрд╕реНрддреНрдпрд╛ рдЖрдгрд┐ рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╣ рддреГрддреАрдп-рдкрдХреНрд╖ рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдХрдбреВрди рдкреБрд▓ рд╡рд┐рдирдВрддреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░рдгреЗ (рд╡рд┐рдХрд╛рд╕рд╛рддреАрд▓ рд╕рд╣рднрд╛рдЧрд╛рд╕рд╛рдареА рд╣рд╕реНрддрд╛рдВрддрд░рдгрд╛рд╡рд░ CLA рдХрд░рд╛рд░рд╛рд╡рд░ рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЛрдбрд╡рд░ рдорд╛рд▓рдорддреНрддрд╛ рдЕрдзрд┐рдХрд╛рд░). GitHub рдордзреНрдпреЗ STL рд╡рд┐рдХрд╛рд╕рд╛рдЪреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг Microsoft рдЧреНрд░рд╛рд╣рдХрд╛рдВрдирд╛ рд╡рд┐рдХрд╛рд╕рд╛рдЪреНрдпрд╛ рдкреНрд░рдЧрддреАрдЪрд╛ рдорд╛рдЧреЛрд╡рд╛ рдШреЗрдгреНрдпрд╛рд╕, рдирд╡реАрдирддрдо рдмрджрд▓рд╛рдВрд╕рд╣ рдкреНрд░рдпреЛрдЧ рдХрд░рдгреНрдпрд╛рд╕ рдЖрдгрд┐ рдирд╡рдХрд▓реНрдкрдирд╛ рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА рдпреЗрдгрд╛рд▒реНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреЗ рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди рдХрд░рдгреНрдпрд╛рд╕ рдорджрдд рдХрд░реЗрд▓ рдпрд╛рдЪреА рдиреЛрдВрдж рдЖрд╣реЗ.

рдУрдкрди рд╕реЛрд░реНрд╕ рд╕рдореБрджрд╛рдпрд╛рд▓рд╛ рдЗрддрд░ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рдирд╡реАрди рдорд╛рдирдХрд╛рдВрдордзреАрд▓ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪреА рддрдпрд╛рд░ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЕрдиреБрдорддреА рджреЗрдИрд▓. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд▓рд╛рдпрдмреНрд░рд░реАрд╕рд╣ рдХреЛрдб рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЛрдб рдкрд░рд╡рд╛рдирд╛ рдирд┐рд╡рдбрд▓рд╛ рдЬрд╛рддреЛ libc++ LLVM рдкреНрд░рдХрд▓реНрдкрд╛рддреВрди. STL рдЖрдгрд┐ libc++ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕рдЪреНрдпрд╛ рдЕрдВрддрд░реНрдЧрдд рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡рд╛рдордзреНрдпреЗ рднрд┐рдиреНрди рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рдЗрдЪреНрдЫрд┐рдд рдЕрд╕рд▓реНрдпрд╛рд╕, libc++ рд╡рд┐рдХрд╛рд╕рдХ STL (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, charconv) рдХрдбреВрди рдЖрд╡рдбреАрдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреЛрд░реНрдЯ рдХрд░реВ рд╢рдХрддрд╛рдд рдХрд┐рдВрд╡рд╛ рджреЛрдиреНрд╣реА рдкреНрд░рдХрд▓реНрдк рд╕рдВрдпреБрдХреНрддрдкрдгреЗ рдХрд╛рд╣реА рдирд╡рдХрд▓реНрдкрдирд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реВ рд╢рдХрддрд╛рдд. Apache рдкрд░рд╡рд╛рдиреНрдпрд╛рдордзреНрдпреЗ рдЬреЛрдбрд▓реЗрд▓реЗ рдЕрдкрд╡рд╛рдж рдЕрдВрддрд┐рдо рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ STL рд╕рд╣ рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдпрдирд░реА рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛рдирд╛ рдореВрд│ рдЙрддреНрдкрд╛рджрдирд╛рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рдЪрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛рдвреВрди рдЯрд╛рдХрддрд╛рдд.

рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рдореБрдЦреНрдп рдЙрджреНрджрд┐рд╖реНрдЯрд╛рдВрдордзреНрдпреЗ рд╡рд┐рд╢рд┐рд╖реНтАНрдЯреАрдХрд░рдг рдЖрд╡рд╢реНтАНрдпрдХрддреЗрдЪреЗ рдкреВрд░реНрдг рдкрд╛рд▓рди, рдЙрдЪреНрдЪ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреЗ, рд╡рд╛рдкрд░рд╛рдд рд╕реБрд▓рднрддрд╛ (рдбреАрдмрдЧрд┐рдВрдЧ рд╕рд╛рдзрдиреЗ, рдирд┐рджрд╛рди, рддреНрд░реБрдЯреА рд╢реЛрдзрдгреЗ) рдЖрдгрд┐ рд╕реЛрд░реНрд╕ рдХреЛрдб рдкрд╛рддрд│реАрд╡рд░ рд╕реБрд╕рдВрдЧрддрддрд╛ рдЖрдгрд┐ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдУ 2015/2017 рдЪреНрдпрд╛ рдорд╛рдЧреАрд▓ рдкреНрд░рдХрд╛рд╢рдирд╛рдВрд╕рд╣ ABI рдпрд╛рдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ. рдорд╛рдпрдХреНрд░реЛрд╕реЙрдлреНрдЯрд▓рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рдд рд╕реНрд╡рд╛рд░рд╕реНрдп рдирд╕рд▓реЗрд▓реНрдпрд╛ рдХреНрд╖реЗрддреНрд░рд╛рдВрдкреИрдХреА рдЗрддрд░ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рдкреЛрд░реНрдЯ рдХрд░рдгреЗ рдЖрдгрд┐ рдиреЙрди-рд╕реНрдЯрдБрдбрд░реНрдб рд╡рд┐рд╕реНрддрд╛рд░ рдЬреЛрдбрдгреЗ.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛