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

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

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


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

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

рдФрд░ рдЗрд╕ рд╕рднреА рдЕрд░реНрдерд╡реНрдпрд╡рд╕реНрдерд╛ рдХреЛ C ++ 14 рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛ред рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╣рдордиреЗ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рд╛ред

рдЫрд╡рд┐

рддреНрдпрд╛рдЧ


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

рдЬреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдерд╛


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

2006 , 8.1, Linux STLPort. . std::wstring, wchar_t. Windows 2 , Linux 4 . , . gcc , wchar_t 2 , , .. glibc, 4- wchar_t. , - , . , last but not least, . , .. .

, 2000- . , Facebook, Facebook , (. folly).

:

  1. ( ).
  2. Copy On Write. , / .

, STLPort stream ( ), 20%. Boost. Boost stream, , API (, ), , stream. , , Boost.


C++14 :

  1. STLPort C++14. , .. STLPort 2010 , .
  2. STL, C++14. , Windows Linux.
  3. .

- .

; libc++, Windows. libc++ Windows, тАФ , , , , libc++ POSIX API.

.


, STLPort (Visual Studio 2015 Windows, gcc 7 Linux, clang 8 macOS).

, , , , , , . 10 000 ( 14 000). wchar_t char16_t; wchar_t, .. char16_t 2 Windows Linux.

. , STLPort , . , .

, , . .

( 20-30%) ( 10-15%) . , , . , .

: ( ) std::map std::set . . , , тАУ ( STLPort). Boost, , .

, , , , Windows-. , 2017 ( 8.3.11 1:) .


++14 6 . ( ) , , тАФ UI, , ..

. , 1: 8.3.14 ( , ) ++17.

. STL std, std , stdx тАУ , , boost тАУ boost. , .

┬л┬╗ (move constructors) . , STL (, capacity ).


, , ( ) тАФ obj-, 60 тАУ 70 . , . , , , . . , . , , . unity build (, , Google Chrome).

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


All Articles