рдмрд╛рдЗрдирд░реА рд╕рдВрдЧрддрддрд╛: рдЕрднреА рдпрд╛ рдХрднреА рдирд╣реАрдВ

рд╡рд░реНрдХрд┐рдВрдЧ рдЧреНрд░реБрдк 21 (WG21) рдореЗрдВ рдЯрд╛рдЗрдЯрд╕ рд╡рд┐рдВрдЯрд░реНрд╕ рдХреЗ рдкреНрд░рдХрд╛рд╢рди рдХрд╛ рдЕрдиреБрд╡рд╛рдж - рд╕реА ++ рднрд╛рд╖рд╛ рдорд╛рдирдХреАрдХрд░рдг рд╕рдорд┐рддрд┐ред рд▓реЗрдЦрдХ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддрд╛ рд╣реИ: рдмреИрдХрд╡рд░реНрдб рдмрд╛рдЗрдирд░реА рд╕рдВрдЧрддрддрд╛ рдпрд╛ рдПрдмреАрдЖрдИ (рдПрдкреНрд▓реАрдХреЗрд╢рди рдмрд╛рдЗрдирд░реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред

WG21 рдореЗрдВ рдкрд┐рдЫрд▓реЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рдореИрдВрдиреЗ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдкреНрд░рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдкреНрд░рдЧрддрд┐ рдкрд┐рдЫрдбрд╝реА рд╕рдВрдЧрддрддрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдЦреБрдж рдЕрдм рдЗрд╕ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рдХрд░рддрд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рд╕рдВрдЧрддрддрд╛ (рдПрдмреАрдЖрдИ) рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВред рдкрд┐рдЫрд▓реЗ рддреАрди рд░рд┐рд▓реАрдЬ (C ++ 14, C ++ 17 рдФрд░ C ++ 20) рдореЗрдВ ABI рдЙрддрдирд╛ рд╣реА рд╕реНрдерд┐рд░ рдерд╛ рдЬрд┐рддрдирд╛ рд╣рдо рдХрд░ рдкрд╛рдП рдереЗред рднрд▓реЗ рд╣реА WG21 C ++ 23 рдореЗрдВ ABI рдкрд┐рдЫрдбрд╝реА рд╕рдВрдЧрддрддрд╛ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддрд╛ рд╣реИ, рд╣рдо 10 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдХрдИ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рд╕рдВрдЧрддрддрд╛ рдкреНрд░рджрд╛рди рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдлреЗрд░рдмрджрд▓ рдореЗрдВ рд╣реАрд░рдо рдХрд╛ рдХрд╛рдиреВрди рд╣рд╛рд╡реА рд╣реИред рдЕрдм рдЖрдк рдпрд╣ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рддрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкрд╛рд╕ рдПрдмреАрдЖрдИ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХреА рдзрд╛рд░рдгрд╛ рд╣реИ (рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдХрд┐рддрдирд╛ рдмреБрджреНрдзрд┐рдорд╛рди рдпрд╛ рдХрд┐рддрдирд╛ рд╕реНрдкрд╖реНрдЯ рдпрд╛ рдирд┐рд╣рд┐рдд рд╣реИ) рджреГрдврд╝рддрд╛ рд╕реЗ "рд╕рдмрдХреЛрд░реНрдЯреЗрдХреНрд╕ рдореЗрдВ рд╕рд┐рд▓рдирд╛" рд╣реИ, рд╢рд╛рдпрдж рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕реА ++ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдЖрдзреЗред


рдЕрдЧрд░ рд╣рдо ABI рдХреЛ "рддреЛрдбрд╝рдиреЗ" рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ WG21 рдХреА рднрд╛рд╖рд╛ рдореЗрдВ рдХреНрдпрд╛ рддрдп рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЗрд╕рдХреА рдПрдХ рд╕реВрдЪреА рд░рдЦрддрд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рд╕рд╛рде рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдХреЗрд╡рд▓ рдЗрд╕ рд╕реВрдЪреА рдХреЗ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП, рдЬреЛ рдкреБрдирд░реНрдореВрд▓реНрдпрд╛рдВрдХрди рдХреА рдХреБрд▓ рд▓рд╛рдЧрдд, рдкреВрд░реЗ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ ABI рдХреЗ рдЙрд▓реНрд▓рдВрдШрди рдХреА рд▓рд╛рдЧрдд рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рд╣рдордиреЗ рдПрдкреАрдЖрдИ рдХреА рд╕реНрдерд┐рд░рддрд╛, рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛, рдЖрджрд┐ рдореЗрдВ рдХрдИ рдЫреЛрдЯреЗ рд╕реБрдзрд╛рд░ рджреЗрдЦреЗ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╕рдВрджреЗрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдПрдХ рднреА "рд╕рдлрд▓рддрд╛" рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реИ рдЬреЛ рдФрд╕рдд рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд▓рд╛рдЧрдд рдХреЛ рдЙрдЪрд┐рдд рдард╣рд░рд╛рдПрдЧрд╛ред рд╢рд╛рдпрдж рд╣рдо рдорд╛рдирдХ рдХреЗ рдмреЗрд╣рддрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдореМрдХрд╛ рджреЗрдВрдЧреЗ рдЬреЛ рдЖрдЬ рдорд╛рдирдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореЗрд░реА рд╕реВрдЪреА рдореЗрдВ рдПрдХ рднреА рд╕реБрдзрд╛рд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд▓рд╛рдЧрдд рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред


рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, ABI рд╕реАрдорд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг, рд╣рдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рди рд╣рд╛рдирд┐ рдХреЛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдЕрдиреВрдареЗ_ptr рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдЧрдд рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдирд╣реАрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ [CppCon 2019 рдкрд░ рдЪрд╛рдВрдбрд▓рд░ рдХреА рдмрд╛рдд рдмрд╛рдж рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреА рдЬрд╛рдПрдЧреА], рд╣рдо рд╣рд░ рдЬрдЧрд╣ рд╕рдм рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдП рдмрд┐рдирд╛ unDeded_map рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдореЗрдВ std :: hash рдпрд╛ рд╡рд░реНрдЧ рдХреЗ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рдХреЛ рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддреЗред рд╡рд░реНрд╖реЛрдВ рд╕реЗ рд╣реИрд╢ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░, рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЦреЛрдЬреЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдФрд░ рд╣реИрд╢рд┐рдВрдЧ рдЙрдЪрд┐рдд рд╣реИ, рд╣рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ unordered_map / std :: рд╣реИрд╢ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдкреАрдЖрдИ рд╕рдВрдЧрдд рд╣реИ рдФрд░ 200-300% рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрддрд╛ рд╣реИ ред рд▓реЗрдХрд┐рди рдПрдмреАрдЖрдИ рдкреНрд░рддрд┐рдмрдВрдз рдЗрд╕ рдмрд╛рдд рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред SSO рдХреЛ std :: string рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рдФрд░ рдЯреНрдпреВрдирд┐рдВрдЧ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдзреНрдпрдпрди рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЧреИрд░-рддреБрдЪреНрдЫ рд╡реГрджреНрдзрд┐ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ (рдорд╛рдЗрдХреНрд░реЛрдмреЗрдирдЪрд░реНрдЪ рдФрд░ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдореЗрдВ 1%) - рдПрдкреАрдЖрдИ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдмреАрдЖрдИ рдкреНрд░рддрд┐рдмрдВрдз рдЗрд╕реЗ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред

рдПрдмреАрдЖрдИ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрд╡рд░реБрджреНрдз рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХрд╛ рдХреБрд▓ рдиреБрдХрд╕рд╛рди рдХрдИ рдкреНрд░рддрд┐рд╢рдд рдЕрдВрдХ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ рд╣реИ - рд╕рдВрднрд╡рддрдГ 5-10% рддрдХред рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдкреВрд░реЗ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рд╕рдВрдЧрдардиреЛрдВ (рдЙрдирдХреЗ рдмреАрдЪ Google) рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, C ++ рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рдПрдХ рдмрдбрд╝рд╛ рдкреНрд░рджрд░реНрд╢рди рдиреБрдХрд╕рд╛рди рд╣реИ: рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдпрд╣ рдПрдХ рдРрд╕реА рднрд╛рд╖рд╛ рд╣реИ рдЬреЛ рджрд╛рд╡рд╛ рдХрд░рддреА рд╣реИ рдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рдкреНрд░рддрд┐рдпреЛрдЧреА рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЬрдЧрд╣ рдирд╣реАрдВ рдЫреЛрдбрд╝рддреА рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рдирд╣реАрдВ рджрд┐рдЦрддреЗ рд╣реИрдВ: рдирд┐рд░рдкреЗрдХреНрд╖ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╣реИрд╢ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВред рдореВрд▓реНрдп рдореЗрдВ unique_ptr рдкрд╛рд╕ рдХрд░рдиреЗ рдФрд░ ABI рднрд╛рд╖рд╛ рдХреА рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╛рдорд╛рдиреНрдп рдЕрдХреНрд╖рдорддрд╛ рдмрд╣реБрдд рдХрдо рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕рд╛рдордиреЗ рдЖрддреА рд╣реИред рдЧреИрд░-рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рдЧреИрд░-рдорд╛рдирдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдЧрдарди рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдзрд┐рдХрддрдо рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╡реЗ рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ (рдФрд░ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдордЭрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред



ABI рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдЧреАред рдореБрдЭреЗ рдЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдиреБрдкрд╛рдд рдкрд░ рд╕рдВрджреЗрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдПрдмреАрдЖрдИ рдкрд░ рдЙрдирдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХрд┐рддрдиреА рдордЬрдмреВрдд рд╣реИред Google рдХреЗ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХ рддрдВрддреНрд░ рдореЗрдВ, рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рд╕реНрд░реЛрдд рд╕реЗ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреБрдЫ рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ рдФрд░ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд╕рдд рдЕрд╡рд╕рд░ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рд▓рд┐рдП рднреА, рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдмреАрдЖрдИ-рдмреНрд░реЗрдХрд┐рдВрдЧ рдореЗрдВ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рд▓рд╛рдЧрдд 5-10 рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рд╡рд░реНрд╖ рдореЗрдВ рдмрджрд▓ рдЧрдИред

рд╕рдВрдкреВрд░реНрдг C ++ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рд▓рд┐рдП ABI рдкрд┐рдЫрдбрд╝реА рд╕рдВрдЧрддрддрд╛ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреА рдХреБрд▓ рд▓рд╛рдЧрдд рдХреЛ " рдорд┐рд▓реЗрдирд┐рдпрдо рдЗрдВрдЬреАрдирд┐рдпрд░ " рдореЗрдВ рдЕрдиреБрдорд╛рдирд┐рдд рд░реВрдк рд╕реЗ рдЕрдиреБрдорд╛рдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рджреБрдирд┐рдпрд╛ рдореЗрдВ рдкреНрд▓рдЧ-рдЗрди, .so рдпрд╛ dll рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд▓рд┐рдП рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╕рдордиреНрд╡рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднрд╛рд░реА рдорд╛рдирд╡ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред C ++ 20 рдореЙрдбреНрдпреВрд▓ рдХреЗ рдХрд╛рд░рдг рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХ рддрдВрддреНрд░ рдХреЗ рдкреГрдердХреНрдХрд░рдг рдХреЗ рд╕рд╛рде, C ++ 23 рдХреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рдордп рдореЗрдВ ABI рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХ рддрдВрддреНрд░ рдХрд╛ рдПрдХ рдХрдард┐рди рдЕрд▓рдЧрд╛рд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред



рдРрд╕реЗ рдХрдИ рд╕рд╡рд╛рд▓ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЬрд╡рд╛рдм рдЗрд╕ рдЪрд░реНрдЪрд╛ рд╕реЗ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдХрдм рддрдХ рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдПрдмреАрдЖрдИ рдХреЛ рд╕рд┐рд░реНрдл рдЙрдкрдпреЛрдЧреА рд╕реЗ рдмрджрд▓рдирд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЖрд╡рд╢реНрдпрдХрддрд╛ рдмрди рдЬрд╛рдПрдЧрд╛? рдпрджрд┐ рд╣рдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдмреАрдЖрдИ рд╕реНрдерд┐рд░рддрд╛ рд╕рдорд░реНрдерди рдЪреБрдирддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рддрд░рд╣ рдХреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрдм рдФрд░ рдХреИрд╕реЗ рдмрджрд▓ рдЬрд╛рдПрдЧреА? рдпрджрд┐ рд╕реНрдкреЗрдХреНрдЯрд░ рдФрд░ рдореЗрд▓реНрдЯрдбрд╛рдЙрди рдЬреИрд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рдореБрджреНрджреЛрдВ рдХреЛ рдХреЙрд▓рд┐рдВрдЧ рдХрдиреНрд╡реЗрдВрд╢рди рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЗрд╕ рдореАрд▓ рдХреЗ рдкрддреНрдерд░ рдХреЛ рдкрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП C ++ рдХреА рд▓рд╛рдЧрдд рдХрд┐рддрдиреА рд╣реЛрдЧреА? рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдХреМрди рд╕рд╛ рдЕрдиреБрдкрд╛рдд C ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдкреНрд░рджрд░реНрд╢рди рдХреЛ рд╣рд░ рдЪреАрдЬ рд╕реЗ рдКрдкрд░ рд░рдЦрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдХрд░рддреЗ рд╣реИрдВ? рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░: C ++ рдХрдм рддрдХ рд╕рдмрд╕реЗ рддреЗрдЬ рднрд╛рд╖рд╛ рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдирд╣реАрдВ рдХрд░рдиреЗ рдЪрд╛рд╣рд┐рдП?


рдпрджрд┐ рд╣рдо рд╕рдЪреЗрдд рд░реВрдк рд╕реЗ рдПрдмреАрдЖрдИ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдирд┐рд░реНрдгрдп рдХреЛ рдЬреЛрд░ рд╕реЗ рдЖрд╡рд╛рдЬ рдЙрдард╛рдиреА рдЪрд╛рд╣рд┐рдПред рд╣рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдПрдХ рдРрд╕реА рднрд╛рд╖рд╛ рд╣реИ рдЬреЛ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рдкреНрд░рддрд┐рд╢рдд рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рдПрдмреАрдЖрдИ рд╕реНрдерд┐рд░рддрд╛ рдХреЛ рдКрдкрд░ рд░рдЦрддреА рд╣реИред рдореИрдВ рдпрд╣ рддрд░реНрдХ рджреЗрдиреЗ рдХреЛ рддреИрдпрд╛рд░ рд╣реВрдВ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдРрд╕рд╛ рд╣реА рд░рд╣рд╛ рд╣реИред рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╕реЗ рдХреНрдпрд╛ рдЕрдкреЗрдХреНрд╖рд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреЗ рдкрд░ рдмреВрд╕реНрдЯ, рдлреЛрд▓реА рдпрд╛ рдПрдмреНрд╕реЗрд▓ рдЬреИрд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХреА рдЬрд╛рддреА рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХреЗ ABI рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рд╕рд╛рде рднрд╛рд╖рд╛ рдореЗрдВ рд╣реА рдХреБрдЫ рднреА рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдпреВрдирд┐рдХ_рдкреНрд░рдЯрд░ рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рд▓рд╛рдЧрддред рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрд╕ рд╡рд┐рдХрд╛рд╕ рдореЙрдбрд▓ рдореЗрдВ рдорд╣рддреНрд╡ рд░рдЦрддрд╛ рд╣реИ: рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡рд╣ рд╣реИ рдЬреЛ рд╣рдо рд╕рдВрдЧрддрддрд╛ рдФрд░ рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдХреЗ рдлреЛрдХрд╕ рдФрд░ рджрд┐рд╢рд╛ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ: рд╣рдо рдмрджрд▓рддреА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓реЗрдкрди рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рди рдХрд┐ "рд╕реНрд╡рдЪреНрдЫ" рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдПред


рдЕрдЧрд░ рд╣рдо рддрд░реНрдХ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рджрд░реНрд╢рди рдПрдмреАрдЖрдИ рд╕реНрдерд┐рд░рддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рддреЛ рд╣рдореЗрдВ рддреБрд░рдВрдд рдпрд╣ рддрдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдХреЛ "рддреЛрдбрд╝ "реЗрдВрдЧреЗ рдФрд░ рд╣рд░ рд╕рдВрднрд╡ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗ рддрд╛рдХрд┐ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдРрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХреЗред рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдФрд░ рдЬреЛрд░ рд╕реЗ рдШреЛрд╖рдгрд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдо рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмреАрдЪ рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рд╕рдордп рдмреАрддрддрд╛ рд╣реИ, рд╡реЗ рдЙрддрдиреЗ рд╣реА рдорд╣рдВрдЧреЗ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ - рдХреНрдпреЛрдВрдХрд┐ рд╕рдордп рдХреЗ рд╕рд╛рде рдПрдмреАрдЖрдИ рдкрд░ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЕрд╕рдорд░реНрдерд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рд╣реЛрдЧреАред рд╣рдорд╛рд░реЗ "рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХрд░реНрддрд╛рдУрдВ" рдиреЗ рдпрд╣ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛ рдХрд┐ рд╕рдВрдЧрддрддрд╛-рдмреНрд░реЗрдХрд┐рдВрдЧ рд╕реА ++ 11 рдкрд░рд┐рд╡рд░реНрддрди рджрд░реНрджрдирд╛рдХ рдФрд░ рдорд╣рдВрдЧреЗ рдереЗред рдРрд╕реА рд▓рд╛рдЧрддреЛрдВ рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЪреБрдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдпрд╛ рддреЛ рд╣рдо рдЙрдиреНрд╣реЗрдВ рджреЛрд╣рд░рд╛рддреЗ рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдПрдмреАрдЖрдИ рдХреЛ рдмрджрд▓рддреЗ рдирд╣реАрдВ рд╣реИрдВ, рдпрд╛ рд▓рд╛рдЧрдд рдХрдо рдХрд░рддреЗ рд╣реИрдВред


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, WG21 рдХреЗ рд▓рд┐рдП рддреАрди рд╕рдВрднрд╛рд╡рдирд╛рдПрдБ рд╣реИрдВ:

  1. рдпрд╣ рддрдп рдХрд░рдирд╛ рдХрд┐ ABI рдХреЛ рдХрд┐рд╕ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛рдПрдЧрд╛ C ++ 23 рдпрд╛ C ++ 26 рдореЗрдВ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред рд▓реЛрдЧреЛрдВ рдХреЛ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдВ рдФрд░ рддреБрд░рдВрдд рдЙрди рд╕реНрдерд╛рдиреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рдФрд░ рдирд┐рджрд╛рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВ рдЬреЛ рдЯреВрдЯ рдЬрд╛рдПрдВрдЧреЗред рднрд╡рд┐рд╖реНрдп рдХреЗ рдПрдмреАрдЖрдИ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╕рдВрдЧрдд рдкреНрд░рдерд╛рдУрдВ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдПрдмреАрдЖрдИ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХрд░реНрддрд╛ рдХреЗ рд╣рд┐рдд рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдпрджрд┐ рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдмреАрдЖрдИ рдХреЛ рдмрджрд▓рдирд╛ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд╛рдн рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдордиреНрд╡рд┐рдд рдЧрддрд┐рд╡рд┐рдзрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ рд╕рдм рдХреБрдЫ рддреЛрдбрд╝рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ - рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ C ++ 23 рдореЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХреЛрдб рдкрд┐рдЫрд▓реЗ рдореЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХреЛрдб рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рд╣реИред рдпрджрд┐ рдХреЛрдИ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реЛрдВ рдХреЛ рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдпрд╛ рд░рди рд╕рдордп рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрдВрдЧреА - рдпрд╣ рдХреЗрд╡рд▓ рдЧрд▓рддрдлрд╣рдореА рдФрд░ рдирд┐рд░рд╛рд╢рд╛ рдХреЛ рдмрдврд╝рд╛рдПрдЧрд╛ред
  2. рддрдп рдХрд░реЗрдВ рдХрд┐ рд╣рдо рдЖрдЬ рдХреЗ рдЕрднреНрдпрд╛рд╕ рдХреЛ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рджреЗрдХрд░ рдПрдмреАрдЖрдИ рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рд╣реИ рдЬрдм рдорд╛рдирдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдмреАрдЖрдИ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рдерд╛ - рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбрд┐рдЬрд╛рдЗрди рд╢реБрджреНрдзрддрд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдКрдкрд░ рдПрдмреАрдЖрдИ рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдЗрд╕реЗ рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрддрд╛рддреЗ рд╣реИрдВ, рддреЛ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред рдЕрддрд┐рд░рд┐рдХреНрдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдореВрд▓реНрдп рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдврд╝реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЕрдВрддрд┐рдо рдмреВрдВрджреЛрдВ рдХреЛ рдирд┐рдЪреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдорд╛рдирдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╕реНрдерд┐рд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдиреНрдп рдкреНрд░рджрд░реНрд╢рди-рдЙрдиреНрдореБрдЦ рднрд╛рд╖рд╛рдПрдБ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдорд╛рд░реА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЪреБрдиреМрддреА рджреЗ рд╕рдХрддреА рд╣реИрдВред
  3. рдПрдХ рджрд┐рд╢рд╛ рдЪреБрдирдиреЗ рдФрд░ рдпрдерд╛рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдЪрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рд╣реИ: рд╣рдо рдПрдмреАрдЖрдИ рдкрд┐рдЫрдбрд╝реА рдЕрдиреБрдХреВрд▓рддрд╛ рдкрд░ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ "рдкреНрд░рджрд░реНрд╢рди" рдФрд░ рд╡реЛрдЯ "рдмрд╛рдЗрдирд░реА рд╕рдВрдЧрддрддрд╛"ред рдЗрд╕ рддрд░рд╣ рдХреА рдЕрд╕рд╣рдорддрд┐ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд░рддреА рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рднрд╛рд╖рд╛ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдкрд░ рд╕рдордЭреМрддреЗ рдХреА рдХрдореАред рдореБрдЭреЗ рдкреВрд░реА рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХрд░реНрддрд╛рдУрдВ рдФрд░ рдорд╣рд╛рдирд┐рджреЗрд╢рдХреЛрдВ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдЖрдо рд╕рд╣рдорддрд┐ рддрдХ рдкрд╣реБрдВрдЪреЗрдВрдЧреЗред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╡рд┐рдХрд▓реНрдк рдирдВрдмрд░ 1 рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдзрд┐рдХрддрдо рдкреНрд░рджрд░реНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рд▓рд┐рдП рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд▓рд╛рдЧрдд рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рднрд╛рд╖рд╛ рдХрд╛ рд╡рд┐рдЦрдВрдбрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рдХрд▓реНрдк рд╕рдВрдЦреНрдпрд╛ 2 рдПрдХ рдЙрдмрд╛рдК, рдЬрд┐рдореНрдореЗрджрд╛рд░ рдФрд░ рдпреЛрдЧреНрдп рд╡рд┐рдХрд▓реНрдк рд╣реИ: рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рджреБрдЦрдж рд╣реИ рдХрд┐ рд╣рдордиреЗ рдЦреБрдж рдХреЛ рдХрдорд░реЗ рдХреЗ рдХреЛрдиреЗ рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕рд╕реЗ рдЬреБрдбрд╝реЗ рдиреБрдХрд╕рд╛рдиреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рд╡рд┐рдХрд▓реНрдк # 3 рдХреЛ рдЪреБрдирдиреЗ рдХрд╛ рдорддрд▓рдм рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рд╣реИ, рдФрд░ рдореИрдВ рдкреНрд░рд╛рд░реНрдердирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕рд╕реЗ рдмрдЪрд╛ рдЬрд╛рдПрдЧрд╛: рдХреЛрдИ рднреА рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдХрд▓реНрдк рдореМрдЬреВрджрд╛ рдЕрд╕рдВрдЧрддрд┐ рдФрд░ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреА рдкрд╕рдВрдж рдкрд░ рд╕рдордЭреМрддреЗ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдХрдИ рдЫреЛрдЯреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рддрдХ рдкрд╣реБрдВрдЪ рдЧрдП рд╣реИрдВред рдкрд┐рдЫрд▓реЗ 10 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рдПрдХ рднреА рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдмрд╛рдЗрдирд░реА рд╕рдВрдЧрддрддрд╛ рдХреЗ рдЙрд▓реНрд▓рдВрдШрди рдХреЛ рд╕рд╣реА рдард╣рд░рд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд┐рдЫрдбрд╝реА рд╕рдВрдЧрддрддрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдирд┐рд╣рд┐рдд рдиреАрддрд┐ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдмрди рдЧрдИ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рддрд░рд╣ рдХреА рдиреАрддрд┐ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдкрдирд╛рдиреЗ рд╕реЗ, рд╣рдо C ++ рдХреЗ рд▓рд┐рдП рдзреАрд░реЗ-рдзреАрд░реЗ рдордВрдЪ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╕рдВрднрд╛рд╡рдирд╛ рдЦреЛрд▓реЗрдВрдЧреЗ: рдЖрдк рдПрдХ рдкреНрд░рдгрд╛рд▓реА-рдЙрдиреНрдореБрдЦ, рдкреНрд░рджрд░реНрд╢рди-рдЙрдиреНрдореБрдЦ рднрд╛рд╖рд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рд╕реНрдерд╛рди рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдХреНрд░реЗрддрд╛ рдХрд┐рд╕реА рднреА рднрд╡рд┐рд╖реНрдп рдХреЗ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдПрдмреАрдЖрдИ рдХреЛ "рддреЛрдбрд╝рдиреЗ" рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдЪрд╛рд░ рдХреА рд╕рд╛рдорд╛рдиреНрдп рджрд┐рд╢рд╛ рдЕрд▓рдЧ рд▓рдЧрддреА рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдорд╛рдирдХ рдФрд░ WG21 рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдЪрд░реНрдЪрд╛ рдФрд░ рдЖрдо рд╕рд╣рдорддрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реИ: рдореБрдЭреЗ рдХреНрдпрд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдБ рдЪреБрдирдиреА рдЪрд╛рд╣рд┐рдП?

Source: https://habr.com/ru/post/hi474294/


All Articles