рд╣рдордиреЗ C++ рдХреЛрдб рдХреА 10 рдорд┐рд▓рд┐рдпрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ C++14 рдорд╛рдирдХ (рдФрд░ рдлрд┐рд░ C++17) рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХреИрд╕реЗ рдХрд┐рдпрд╛?

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

рдЬреЛ рд▓реЛрдЧ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП 1рд╕реА:рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдУрдПрд╕ рдФрд░ рдбреАрдмреАрдПрдордПрд╕ рдкрд░ рдЙрдирдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд░рдирдЯрд╛рдЗрдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЙрддреНрдкрд╛рдж рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░, рд╡рд┐рдВрдбреЛрдЬрд╝ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ
  • рдЧреНрд░рд╛рд╣рдХ, http(s) рдпрд╛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдмрд╛рдЗрдирд░реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП, рд╡рд┐рдВрдбреЛрдЬрд╝, рд▓рд┐рдирдХреНрд╕, рдореИрдХрдУрдПрд╕ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
  • рд╡реЗрдм рдХреНрд▓рд╛рдЗрдВрдЯ, рдХреНрд░реЛрдо, рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░, рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдПрдЬ, рдлрд╛рдпрд░рдлреЙрдХреНрд╕, рд╕рдлрд╛рд░реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ (рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реБрдЖ)
  • рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг (рдХреМрдиреНрдлрд╝рд┐рдЧрд░реЗрдЯрд░), рд╡рд┐рдВрдбреЛрдЬрд╝, рд▓рд┐рдирдХреНрд╕, рдореИрдХрдУрдПрд╕ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
  • рдкреНрд░рд╢рд╛рд╕рди рдЙрдкрдХрд░рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░, рд╡рд┐рдВрдбреЛрдЬрд╝, рд▓рд┐рдирдХреНрд╕, рдореИрдХрдУрдПрд╕ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ
  • рдореЛрдмрд╛рдЗрд▓ рдЧреНрд░рд╛рд╣рдХ, http(s) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдХрд░, Android, iOS, Windows рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
  • рдореЛрдмрд╛рдЗрд▓ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо - рдПрдВрдбреНрд░реЙрдЗрдб, рдЖрдИрдУрдПрд╕, рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╡рд╛рд▓реЗ рдСрдлрд╝рд▓рд╛рдЗрди рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдкрд░реЗрдЦрд╛
  • рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг 1рд╕реА:рдЙрджреНрдпрдо рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг, рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ
  • рд╕реЗрд╡рдХ рдЗрдВрдЯрд░реЗрдХреНрд╢рди рд╕рд┐рд╕реНрдЯрдо

рд╣рдо рдпрдерд╛рд╕рдВрднрд╡ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ - рд╕рд░реНрд╡рд░ рдХреЛрдб рдЖрдзрд╛рд░ 99% рд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рдЖрдзрд╛рд░ рд▓рдЧрднрдЧ 95% рд╣реИред 1C:рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдореБрдЦреНрдп рд░реВрдк рд╕реЗ C++ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрдиреБрдорд╛рдирд┐рдд рдХреЛрдб рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдиреАрдЪреЗ рджреА рдЧрдИ рд╣реИрдВ:

  • C++ рдХреЛрдб рдХреА 10 рдорд┐рд▓рд┐рдпрди рд▓рд╛рдЗрдиреЗрдВ,
  • 14 рд╣рдЬрд╛рд░ рдлрд╝рд╛рдЗрд▓реЗрдВ,
  • 60 рд╣рдЬрд╛рд░ рдХрдХреНрд╖рд╛рдПрдВ,
  • рдЖрдзреЗ рдорд┐рд▓рд┐рдпрди рддрд░реАрдХреЗред

рдФрд░ рдЗрди рд╕рднреА рдЪреАрдЬрд╝реЛрдВ рдХрд╛ C++14 рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдЖрдЬ рд╣рдо рдЖрдкрдХреЛ рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рд╣рдордиреЗ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣рдореЗрдВ рдХреНрдпрд╛-рдХреНрдпрд╛ рдЭреЗрд▓рдирд╛ рдкрдбрд╝рд╛ред

рд╣рдордиреЗ C++ рдХреЛрдб рдХреА 10 рдорд┐рд▓рд┐рдпрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ C++14 рдорд╛рдирдХ (рдФрд░ рдлрд┐рд░ C++17) рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХреИрд╕реЗ рдХрд┐рдпрд╛?

╨╕╤Б╨║╨╗╨╡╨╣╨╝╨╡╤А

рд╡рд┐рднрд┐рдиреНрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдорд╛рдирдХ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреНрд╡рд╛рд░рд╛ рдзреАрдореА/рддреЗрдЬрд╝ рдХрд╛рдо, (рдирд╣реАрдВ) рдмрдбрд╝реА рдореЗрдореЛрд░реА рдЦрдкрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреАрдЪреЗ рд▓рд┐рдЦреА рдЧрдИ рд╣рд░ рдмрд╛рдд рдХрд╛ рдПрдХ рд╣реА рдорддрд▓рдм рд╣реИ: рдпрд╣ рдЕрдореЗрд░рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рд╕рдЪ рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдорд╛рдирдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЖрдкрдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реЛрдЧрд╛ред рд╣рдордиреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рд╢реБрд░реБрдЖрдд рдХреА: рд╣рдордиреЗ рд╡рд╣ рдбреЗрдЯрд╛ рд▓рд┐рдпрд╛ рдЬреЛ рд╣рдорд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдерд╛, рдЙрди рдкрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рджреГрд╢реНрдп рдЪрд▓рд╛рдП, рдкреНрд░рджрд░реНрд╢рди, рдЦрдкрдд рдХреА рдЧрдИ рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдЖрджрд┐ рдХреЛ рджреЗрдЦрд╛, рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдФрд░ рд╣рдорд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХ рдРрд╕реЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рдереЗ рдпрд╛ рдирд╣реАрдВред . рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рд░реНрдп рдХрд┐рдпрд╛ред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рдерд╛

рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╣рдордиреЗ Microsoft Visual Studio рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 1C:Enterprise 8 рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦрд╛ рдерд╛ред рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ 2000 рдХреЗ рджрд╢рдХ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╢реБрд░реВ рд╣реБрдИ рдереА рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг рдерд╛ред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рддрдм рд╕реЗ рдХреЛрдб рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХрдИ рддрдВрддреНрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреЛрдб 1998 рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рд╕рдордХреЛрдг рдХреЛрд╖реНрдардХ рдХреЛ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рддрд╛рдХрд┐ рд╕рдВрдХрд▓рди рд╕рдлрд▓ рд╣реЛ рд╕рдХреЗ, рдЗрд╕ рддрд░рд╣:

vector<vector<int> > IntV;

2006 рдореЗрдВ, рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдВрд╕реНрдХрд░рдг 8.1 рдХреА рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рд╛рде, рд╣рдордиреЗ рд▓рд┐рдирдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдФрд░ рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рдорд╛рдирдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ред рдПрд╕рдЯреАрдПрд▓рдкреЛрд░реНрдЯ. рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдПрдХ рдХрд╛рд░рдг рдЪреМрдбрд╝реА рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдерд╛ред рд╣рдорд╛рд░реЗ рдХреЛрдб рдореЗрдВ, рд╣рдо std::wstring рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ wchar_t рдкреНрд░рдХрд╛рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ 2 рдмрд╛рдЗрдЯреНрд╕ рд╣реИ, рдФрд░ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ 4 рдмрд╛рдЗрдЯреНрд╕ рд╣реИред рдЗрд╕рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рд▓рдЧрд╛рддрд╛рд░ рдбреЗрдЯрд╛ рдХреЗ рдмреАрдЪ рд╣рдорд╛рд░реЗ рдмрд╛рдЗрдирд░реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреА рдЕрд╕рдВрдЧрддрд┐ рд╣реЛ рдЧрдИред рдЬреАрд╕реАрд╕реА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди wchar_t рдХрд╛ рдЖрдХрд╛рд░ рднреА 2 рдмрд╛рдЗрдЯреНрд╕ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЖрдк рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реЗ рдорд╛рдирдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ glibc рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдмрджрд▓реЗ рдореЗрдВ 4-рдмрд╛рдЗрдЯ wchar_t рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдиреНрдп рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рдорд╛рдирдХ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдмреЗрд╣рддрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рд╣реИрд╢ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдЕрдВрджрд░ рдЬрд╛рдиреЗ рдХреЗ рд╢рдмреНрджрд╛рд░реНрде рдХрд╛ рдЕрдиреБрдХрд░рдг рднреА рд╢рд╛рдорд┐рд▓ рдерд╛, рдЬрд┐рд╕рдХрд╛ рд╣рдордиреЗ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдФрд░ рдПрдХ рдФрд░ рдХрд╛рд░рдг, рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдЕрдВрддрд┐рдо рд▓реЗрдХрд┐рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдХрд╣рддреЗ рд╣реИрдВ, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рджрд░реНрд╢рди рдерд╛ред рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рдереА, рдХреНрдпреЛрдВрдХрд┐... рд╣рдорд╛рд░реЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдСрдкрд░реЗрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рд╣рдорд╛рд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ 2000 рдХреЗ рджрд╢рдХ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╡реНрдпрдХреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕрдиреБрдХреВрд▓рди рд╡рд┐рдЪрд╛рд░реЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдЖрдВрджреНрд░реЗрдИ рдЕрд▓реЗрдХреНрдЬреЗрдВрдбреНрд░реЗрд╕реНрдХреБ. рдмрд╛рдж рдореЗрдВ, рдЬрдм рдЕрд▓реЗрдХреНрдЬреЗрдВрдбреНрд░реЗрд╕реНрдХреВ рдиреЗ рдлреЗрд╕рдмреБрдХ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛, рддреЛ рдЙрдирдХреЗ рд╕реБрдЭрд╛рд╡ рдкрд░, рдлреЗрд╕рдмреБрдХ рдЗрдВрдЬрди рдореЗрдВ рдПрдХ рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЬреЛ рд╕рдорд╛рди рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛ (рд▓рд╛рдЗрдмреНрд░реЗрд░реА рджреЗрдЦреЗрдВ) рдореВрд░реНрдЦрддрд╛).

рд╣рдорд╛рд░реА рд▓рд╛рдЗрди рдореЗрдВ рджреЛ рдореБрдЦреНрдп рдЕрдиреБрдХреВрд▓рди рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

  1. рдЫреЛрдЯреЗ рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╣реА рдПрдХ рдЖрдВрддрд░рд┐рдХ рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ)ред
  2. рдЕрдиреНрдп рд╕рднреА рдХреЗ рд▓рд┐рдП рдпрд╛рдВрддреНрд░рд┐рдХреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд▓рд┐рдЦрдиреЗ рдкрд░ рдирдХрд▓. рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рдХреЛ рдПрдХ рд╕реНрдерд╛рди рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ/рд╕рдВрд╢реЛрдзрди рдХреЗ рджреМрд░рд╛рди рдПрдХ рд╕рдВрджрд░реНрдн рдХрд╛рдЙрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдВрдХрд▓рди рдХреЛ рддреЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЕрдкрдиреЗ STLPort рд╡реИрд░рд┐рдПрдВрдЯ (рдЬрд┐рд╕рдХрд╛ рд╣рдордиреЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛) рд╕реЗ рд╕реНрдЯреНрд░реАрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдмрд╛рд╣рд░ рдХрд░ рджрд┐рдпрд╛, рдЗрд╕рд╕реЗ рд╣рдореЗрдВ рд▓рдЧрднрдЧ 20% рддреЗрдЬрд╝ рд╕рдВрдХрд▓рди рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖред рдЗрд╕рдХреЗ рдмрд╛рдж рд╣рдореЗрдВ рд╕реАрдорд┐рдд рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдмрдврд╝рд╛рд╡рд╛. рдмреВрд╕реНрдЯ рд╕реНрдЯреНрд░реАрдо рдХрд╛ рднрд╛рд░реА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕рдХреА рд╕реЗрд╡рд╛ рдПрдкреАрдЖрдИ рдореЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП), рдЗрд╕рд▓рд┐рдП рд╕реНрдЯреНрд░реАрдо рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмреВрд╕реНрдЯ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рдХрдард┐рди рд╣реЛ рдЧрдпрд╛ред

рддреАрд╕рд░рд╛ рд░рд╛рд╕реНрддрд╛

C++14 рдорд╛рдирдХ рдХреА рдУрд░ рдмрдврд╝рддреЗ рд╕рдордп, рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛:

  1. рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╢реЛрдзрд┐рдд STLPort рдХреЛ C++14 рдорд╛рдирдХ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВред рд╡рд┐рдХрд▓реНрдк рдмрд╣реБрдд рдХрдард┐рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐... рдПрд╕рдЯреАрдПрд▓рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди 2010 рдореЗрдВ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд╕рднреА рдХреЛрдб рд╕реНрд╡рдпрдВ рдмрдирд╛рдиреЗ рд╣реЛрдВрдЧреЗред
  2. C++14 рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдХрд┐рд╕реА рдЕрдиреНрдп STL рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╕рдВрдХреНрд░рдордгред рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рд╡рд╛рдВрдЫрдиреАрдп рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рдВрдбреЛрдЬрд╝ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╣реЛред
  3. рдкреНрд░рддреНрдпреЗрдХ рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп, рд╕рдВрдмрдВрдзрд┐рдд рдХрдВрдкрд╛рдЗрд▓рд░ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдХрд╛рдо рдЬреНрдпрд╛рджрд╛ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рд╕рд┐рд░реЗ рд╕реЗ рдЦрд╛рд░рд┐рдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред

рд╣рдордиреЗ рдХреБрдЫ рд╕рдордп рддрдХ рджреВрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛; рдЙрдореНрдореАрджрд╡рд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ libc++, рд▓реЗрдХрд┐рди рдЙрд╕ рд╕рдордп рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛ред libc++ рдХреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╣реБрдд рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдереНрд░реЗрдбреНрд╕, рдереНрд░реЗрдб рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реЗрд╢рди рдФрд░ рдПрдЯреЛрдорд┐рд╕рд┐рдЯреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рдЪреАрдЬрд╝реЗрдВ рд╕реНрд╡рдпрдВ рд▓рд┐рдЦреЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ libc++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдкреЙрдЬрд╝рд┐рдХреНрд╕ рдПрдкреАрдЖрдИ.

рдФрд░ рд╣рдордиреЗ рддреАрд╕рд░рд╛ рд░рд╛рд╕реНрддрд╛ рдЪреБрдирд╛.

рд╕рдВрдХреНрд░рдордг

рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ STLPort рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2015, рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЬреАрд╕реАрд╕реА 7, рдореИрдХрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдХреНрд▓реИрдВрдЧ 8) рд╕реЗ рдмрджрд▓рдирд╛ рдкрдбрд╝рд╛ред

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдорд╛рд░рд╛ рдХреЛрдб рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕рдореЗрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЪрддреБрд░ рдпреБрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдирдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЖрд╕рд╛рдиреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рдЧрдпрд╛, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдорджрдж рд╕реЗ, рдЬрд┐рд╕рдиреЗ рдкреНрд░рдХрд╛рд░, рд╡рд░реНрдЧ, рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ рд╕реНрд░реЛрдд рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ. рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдиреЗ 10 рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ (000 рдореЗрдВ рд╕реЗ) рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ред wchar_t рдХреЛ char14_t рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛; рд╣рдордиреЗ wchar_t рдХрд╛ рдЙрдкрдпреЛрдЧ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ char000_t рд╕рднреА рдУрдПрд╕ рдкрд░ 16 рдмрд╛рдЗрдЯреНрд╕ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдХреЗ рдмреАрдЪ рдХреЛрдб рд╕рдВрдЧрддрддрд╛ рдХреЛ рдЦрд░рд╛рдм рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдХреБрдЫ рдЫреЛрдЯреЗ-рдореЛрдЯреЗ рд╕рд╛рд╣рд╕рд┐рдХ рдХрд╛рд░реНрдп рдереЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, STLPort рдореЗрдВ рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддрдХ рдХреЛ рдХрд┐рд╕реА рддрддреНрд╡ рдХреЗ рд╕реВрдЪрдХ рдкрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░реВрдк рд╕реЗ рдбрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╣рдорд╛рд░реЗ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдирдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдирд╛ рдЕрдм рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛, рдФрд░ рдЗрди рдЕрдВрд╢реЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдкрдбрд╝рддрд╛ рдерд╛ред

рддреЛ, рдХреЛрдб рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдХреЛрдб рд╕рднреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рд╣реИред рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╕рдордп рд╣реИ.

рд╕рдВрдХреНрд░рдордг рдХреЗ рдмрд╛рдж рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдХреЛрдб рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ (рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ 20-30% рддрдХ) рдФрд░ рдореЗрдореЛрд░реА рдЦрдкрдд рдореЗрдВ рд╡реГрджреНрдзрд┐ (10-15% рддрдХ) рджреЗрдЦреА рдЧрдИред рдпрд╣, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдорд╛рдирдХ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рдЙрдк-рдЗрд╖реНрдЯрддрдо рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдХрд╛рд░рдг рдерд╛ред рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдЕрдкрдиреА рдЦреБрдж рдХреА, рдереЛрдбрд╝реА рд╕рдВрд╢реЛрдзрд┐рдд рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдПрдореНрдмреЗрдбреЗрдб рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛ рднреА рд╕рд╛рдордиреЗ рдЖрдИ: рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рд╕реЗ рдЦрд╛рд▓реА (рддрддреНрд╡реЛрдВ рдХреЗ рдмрд┐рдирд╛) std::map рдФрд░ std::set рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг, рдХреЛрдб рдореЗрдВ рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЦрд╛рд▓реА рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдорд╛рдирдХ рдореЗрдореЛрд░реА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдПрдХ рд░реВрдЯ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕рд╛ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рд╛рдмрд┐рдд рд╣реБрдЖ - рдХрдИ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ, рд╣рдорд╛рд░рд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд╛рдлреА рдЧрд┐рд░ рдЧрдпрд╛ рдФрд░ рдореЗрдореЛрд░реА рдЦрдкрдд рдмрдврд╝ рдЧрдИ (рдПрд╕рдЯреАрдПрд▓рдкреЛрд░реНрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ)ред рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдХреЛрдб рдореЗрдВ рд╣рдордиреЗ рдмреВрд╕реНрдЯ рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдЗрди рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛, рдЬрд╣рд╛рдВ рдЗрди рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдирд╣реАрдВ рдереА, рдФрд░ рдЗрд╕рд╕реЗ рдордВрджреА рдФрд░ рдмрдврд╝реА рд╣реБрдИ рдореЗрдореЛрд░реА рдЦрдкрдд рдХреА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред

рдЬреИрд╕рд╛ рдХрд┐ рдЕрдХреНрд╕рд░ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд╛рдж рд╣реЛрддрд╛ рд╣реИ, рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рдкрд╣рд▓рд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛, рдФрд░ рдпрд╣рд╛рдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╡рд┐рдВрдбреЛрдЬ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рдЗрдЯрд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд╛рдо рдЖрдпрд╛ред рдХрджрдо рджрд░ рдХрджрдо рд╣рдо рдЖрдЧреЗ рдмрдврд╝реЗ рдФрд░ 2017 рдХреЗ рд╡рд╕рдВрдд рддрдХ (рд╕рдВрд╕реНрдХрд░рдг 8.3.11 1рд╕реА:рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ) рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ред

рдкрд░рд┐рдгрд╛рдо

C++14 рдорд╛рдирдХ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдореЗрдВ рд╣рдореЗрдВ рд▓рдЧрднрдЧ 6 рдорд╣реАрдиреЗ рд▓рдЧреЗред рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп, рдПрдХ (рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдЙрдЪреНрдЪ рдпреЛрдЧреНрдп) рдбреЗрд╡рд▓рдкрд░ рдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛, рдФрд░ рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдЯреАрдореЛрдВ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╢рд╛рдорд┐рд▓ рд╣реБрдП - рдпреВрдЖрдИ, рд╕рд░реНрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░, рд╡рд┐рдХрд╛рд╕ рдФрд░ рдкреНрд░рд╢рд╛рд╕рди рдЙрдкрдХрд░рдг, рдЖрджрд┐ред

рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдиреЗ рдорд╛рдирдХ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд╣рдорд╛рд░реЗ рдХрд╛рдо рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдмрдирд╛ рджрд┐рдпрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рдВрд╕реНрдХрд░рдг 1C:рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ 8.3.14 (рд╡рд┐рдХрд╛рд╕ рдореЗрдВ, рдЕрдЧрд▓реЗ рд╡рд░реНрд╖ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛) рдкрд╣рд▓реЗ рд╣реА рдорд╛рдирдХ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд╕реА ++ 17.

рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдмрд╛рдж, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдпрджрд┐ рдкрд╣рд▓реЗ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрд╕рдЯреАрдПрд▓ рдХрд╛ рдЕрдкрдирд╛ рд╕рдВрд╢реЛрдзрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдПрдХ рдПрд╕рдЯреАрдбреА рдиреЗрдорд╕реНрдкреЗрд╕ рдерд╛, рддреЛ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрд╕рдЯреАрдбреА рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрдВрдкрд╛рдЗрд▓рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдорд╛рдирдХ рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВ, рдПрд╕рдЯреАрдбреАрдПрдХреНрд╕ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ - рд╣рдорд╛рд░реА рд▓рд╛рдЗрдиреЗрдВ рдФрд░ рдХрдВрдЯреЗрдирд░ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИрдВ, рдмреВрд╕реНрдЯ рдореЗрдВ - рдмреВрд╕реНрдЯ рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгред рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдЙрди рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЙрд╕рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИрдВред

рдореВрд╡ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реЛрдВ рдХрд╛ "рдореВрд▓" рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднреА рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ (рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ) рдХрдИ рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдПред рдпрджрд┐ рдХрд┐рд╕реА рдХреНрд▓рд╛рд╕ рдореЗрдВ рдПрдХ рдореВрд╡ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рд╣реИ рдФрд░ рдЗрд╕ рдХреНрд▓рд╛рд╕ рдХреЛ рдПрдХ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдПрд╕рдЯреАрдПрд▓ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рддрддреНрд╡реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдХрдВрдЯреЗрдирд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХреНрд╖рдорддрд╛ рдХреЛ рдмрджрд▓рдирд╛ рдФрд░ рдореЗрдореЛрд░реА рдХреЛ рдкреБрдирдГ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИ)ред

рдорд░рд╣рдо рдореЗрдВ рдЙрдбрд╝рдирд╛

рд╢рд╛рдпрдж рдкреНрд░рд╡рд╛рд╕рди рдХрд╛ рд╕рдмрд╕реЗ рдЕрдкреНрд░рд┐рдп (рд▓реЗрдХрд┐рди рдЧрдВрднреАрд░ рдирд╣реАрдВ) рдкрд░рд┐рдгрд╛рдо рдпрд╣ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдУрдмреАрдЬреЗ рдлрд╝рд╛рдЗрд▓реЗрдВ, рдФрд░ рд╕рднреА рдордзреНрдпрд╡рд░реНрддреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдкреВрд░рд╛ рдкрд░рд┐рдгрд╛рдо 60-70 рдЬреАрдмреА рддрдХ рд▓рдЧрдиреЗ рд▓рдЧрд╛ред рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдЖрдзреБрдирд┐рдХ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рд╣реИ, рдЬреЛ рдЙрддреНрдкрдиреНрди рд╕реЗрд╡рд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдкреНрд░рддрд┐ рдХрдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рдЧрдП рд╣реИрдВред рдпрд╣ рд╕рдВрдХрд▓рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдХрдИ рдЕрд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ рд╕рдВрдХрд▓рди рд╕рдордп рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред рдмрд┐рд▓реНрдб рд╕рд░реНрд╡рд░ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдорд╢реАрдиреЛрдВ рдкрд░ рдореБрдлреНрдд рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рднреА рдмрдврд╝ рд░рд╣реА рд╣реИрдВред рд╣рдорд╛рд░реЗ рдбреЗрд╡рд▓рдкрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдХрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕реИрдХрдбрд╝реЛрдВ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рдордзреНрдпрд╡рд░реНрддреА рдлрд╝рд╛рдЗрд▓реЗрдВ рдХрднреА-рдХрднреА рдЙрдирдХреЗ рдХрд╛рдо рдореЗрдВ рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рдкреИрджрд╛ рдХрд░рддреА рд╣реИрдВред рд╕рдорд╕реНрдпрд╛ рдЕрдкреНрд░рд┐рдп рд╣реИ, рд▓реЗрдХрд┐рди рдЧрдВрднреАрд░ рдирд╣реАрдВ, рд╣рдордиреЗ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдлрд┐рд▓рд╣рд╛рд▓ рдЯрд╛рд▓ рджрд┐рдпрд╛ рд╣реИ. рд╣рдо рдЗрд╕рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдкрд░ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред' рдПрдХрддрд╛ рдирд┐рд░реНрдорд╛рдг (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, Google Chrome рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ)ред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ