
рд╣рд╛рд▓ рдХреЗ рдПрдХ
рдкреЛрд╕реНрдЯ рдореЗрдВ, рдЦрдмреНрд░реЛрд╡рд╕реНрдХ рдирд┐рд╡рд╛рд╕рд┐рдпреЛрдВ рдиреЗ рд░реВрд╕реА рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдкреБрд╕реНрддрдХ рдХреЗ рдЕрдзреНрдпрд╛рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдорддрджрд╛рди рдХрд┐рдпрд╛ред рдереЛрдбрд╝рд╛ рд╕реЛрдЪрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдзреЛрдЦрд╛ рджреЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рдЦреБрд▓реА рдкрд╣реБрдВрдЪ рд╕реЗ рдЕрдзреНрдпрд╛рдпреЛрдВ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдХрд┐ рдирд┐рдЬреА рдХреНрдпрд╛ рд╣реИред
рдкреНрд░рдХрд╛рд╢рдХ рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╢рд╛рдмреНрджрд┐рдХ рдЕрдиреБрд╡рд╛рдж рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдмрд▓реНрдХрд┐ рдЙрди рддрдХрдиреАрдХреЛрдВ рд╕реЗ рдПрдХ рдирд┐рдЪреЛрдбрд╝ рд╣реИ рдЬреЛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдмреВрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдХреНрдпрд╛ рдЖрдк рдХрдЯреМрддреА рдХреЗ рддрд╣рдд рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ:
- рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдзрд┐рдХрддрдо / рдорд┐рдирдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрдЬрд╛рдп рдореИрдХреНрд░реЛ рдХреЙрд▓ рд╕реЗ рдмрдЪреЗрдВред
- рд╣рдо std :: swap рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╖реНрдЯрддрдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдЗрд╕рдХреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ред
- рдПрд╕рдЯреАрдбреА рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рддреЗрдЬ рдХрд░рдирд╛ :: рд╡реЗрдХреНрдЯрд░ред
- рд╕реА ++ 11 рдореЗрдВ рд╡рд┐рдзреНрд╡рдВрд╕рдХред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдзрд┐рдХрддрдо / рдорд┐рдирдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрдЬрд╛рдп рдореИрдХреНрд░реЛ рдХреЙрд▓ рд╕реЗ рдмрдЪреЗрдВред
рдЬреЛ рд▓реЛрдЧ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдиреНрдпреВрдирддрдо / рдЕрдзрд┐рдХрддрдо рдореИрдХреНрд░реЛрдЬрд╝ рд╣реИрдВред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдХрд┐рд╕реА рднреА рд╡рд░реНрдЧреЛрдВ рдФрд░ рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдорд┐рдирдЯ / рдЕрдзрд┐рдХрддрдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рджреНрд╡рд╛рд░рд╛ рдореИрдХреНрд░реЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ:
int max_int = std::numeric_limits<int>::max(); my_class_variable.max();
рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рдмрдЬрд╛рдп рдореИрдХреНрд░реЛ рдХреЙрд▓ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдкреЛрд░реНрдЯреЗрдмрд▓ рдФрд░ рдХрдо рдПрдХ рдХреЛрд╖реНрдардХ рдореЗрдВ рдкреВрд░реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛ рд╕рдВрд▓рдЧреНрди рдХрд░рдирд╛ рд╣реИ (рд╕реНрд╡рдпрдВ рдХреЛ рдХреЛрд╖реНрдардХ рдХреЛ рдЫреЛрдбрд╝рдХрд░):
int max_int = (std::numeric_limits<int>::max)(); (my_class_variable.max)();
рдЕрдм рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдЕрдзрд┐рдХрддрдо рдореИрдХреНрд░реЛ рдХреЙрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдФрд░ рдХреЛрдб рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдЧрд╛ред рдпрд╣ рдЯреНрд░рд┐рдХ рд╕рднреА рдореИрдХреНрд░реЛрдЬрд╝ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИ, рди рдХрд┐ рдХреЗрд╡рд▓ рдиреНрдпреВрдирддрдо / рдЕрдзрд┐рдХрддрдо, рдФрд░ рдЕрдХреНрд╕рд░ рдмреВрд╕реНрдЯ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рдо std :: swap рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╖реНрдЯрддрдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдЗрд╕рдХреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ред
рдПрдХ рд╕реНрдерд┐рддрд┐ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ: рдЖрдкрдХреЛ рд╕рдмрд╕реЗ рдХреБрд╢рд▓ рддрд░реАрдХреЗ рд╕реЗ рджреЛ рдЪрд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рд╕реНрд╡реИрдк рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдкрд░реЗрд╢рд╛рдиреА рдпрд╣ рд╣реИ, рд╣рдо рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХреЛрдб рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
template <class T> void my_function(T& value1, T& value1) {
рдЧреИрд░-рдЗрд╖реНрдЯрддрдо рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реИ рдХрд┐ рдХрд╕реНрдЯрдо рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдлрд╝рдВрдХреНрд╢рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдорд╛рдирдХ рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
namespace some_namespace { class my_vector; void swap(my_vector& value1, my_vector& value2); }
рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдХреЛрдб рдХреЛ рдареАрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
template <class T> void my_function(T& value1, T& value1) { using std::swap;
рдЕрдм рдХрдВрдкрд╛рдЗрд▓рд░ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╛рдо рд╕реНрдкреЗрд╕ рдорд╛рди 1 рдФрд░ рд╡реИрд▓реНрдпреВ 2 рд╕реЗ рд╕реНрд╡реИрдк рдлрдВрдХреНрд╢рди рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧрд╛ред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрджрд┐ value1 рдФрд░ value2, some_namespace :: my_vector рд╡рд░реНрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рддреЛ рд╕рдВрдХрд▓рдХ рдкрд╣рд▓реЗ some_namespace рд╕реЗ рд╕реНрд╡реИрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдорд╛рди 1 рдФрд░ рдорд╛рди 2 рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдХреЛрдИ рд╕реНрд╡реИрдк рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ, рддреЛ рдХрдВрдкрд╛рдЗрд▓рд░ std :: swap рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред
рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ? рдХреНрдпреЛрдВрдХрд┐ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдЙрдкрдпреЛрдЧ рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рддрд░реНрдХ рдирд┐рд░реНрднрд░ рд▓реБрдХрдЕрдк (рдЙрд░реНрдл рдХреЛрдирд┐рдЧ рд▓реБрдХрдЕрдк) рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╡рд╣ рдЯреНрд░рд┐рдХ рд╣реИ рдЬреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрддрд╛ рд╣реИ :: рд╕реНрд╡реИрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдмрдврд╝рд╛рд╡рд╛ рджреЗрддрд╛ рд╣реИ: рд╕рдВрдЦреНрдпрд╛рддреНрдордХ_рдХрд╛рд╕реНрдЯ рдлрд╝рд░реНрд╢, рдЫрдд, рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдПрд╕рдЯреАрдбреА рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рддреЗрдЬ рдХрд░рдирд╛ :: рд╡реЗрдХреНрдЯрд░ред
рдЪрд▓реЛ рд╕рд▓рд╛рд╣ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рддреБрдЪреНрдЫ рдЯреБрдХрдбрд╝реЗ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ: рдпрджрд┐ рдЖрдкрдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рд╡реЗрдХреНрдЯрд░ рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреНрдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдбрд╛рд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ
рдЖрд░рдХреНрд╖рд┐рдд (рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛) рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
std::vector<int> numbers; numbers.reserve(1000); for (size_t i = 0; i < 1000; ++i) numbers.push.back(i);
рдпрд╣ рд╕рд▓рд╛рд╣ рдХрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреБрд╕реНрддрдХреЛрдВ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЗрд╕реЗ рдЕрдХреНрд╕рд░ рднреБрд▓рд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдЬрд╣рд╛рдВ рд╡реЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЧрдП рдереЗ - рдПрдХрддрд╛ рдХрд╛ рдХреЛрдб (рдЙрдмрдВрдЯреВ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рд╢реЗрд▓)ред
рдЕрдм рдХрдо рддреБрдЪреНрдЫ рд╕рд▓рд╛рд╣ред C ++ 11 рдореЗрдВ, рдпрд╣ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдХрд┐ std :: рд╡реЗрдХреНрдЯрд░ рдФрд░ рдХрдИ рдЕрдиреНрдп рдХрдВрдЯреЗрдирд░ рддрддреНрд╡реЛрдВ рдХреЗ
рд▓рд┐рдП рдореВрд╡ рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рдирд░реНрд╕ рдФрд░ рдореВрд╡-рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдпрджрд┐ рдЗрди рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рдВрд╕
рдХреЗ рдореВрд╡ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реНрд╕ рдФрд░ рдореВрд╡-рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░реНрд╕ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдирд╣реАрдВ рдлреЗрдВрдХрддреЗ рд╣реИрдВ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рдпрджрд┐ рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдирдХрд▓ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ)ред
рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, C ++ 11 рдореЗрдВ, рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реНрд╕ рдФрд░ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ рдХреЛ рдЯреИрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ рдЬреЛ рдиреЛ рдЕрдкрд╡рд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ
рдлреЗрдВрдХрддреЗ рд╣реИрдВ ред
рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмреВрд╕реНрдЯ рд╕реЗ рдХрдИ рд╡рд░реНрдЧ рдиреЛрд╕реЗрдкреНрдЯ рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП :: рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдмрдврд╝рд╛рд╡рд╛ :: рдкрд░рд┐рдкрддреНрд░_рдмрдлрд╝рд░ред
рд╕реА ++ 11 рдореЗрдВ рд╡рд┐рдзреНрд╡рдВрд╕рдХред
рд╕реА ++ 11 рдорд╛рдирдХ рд╕реЗ рдкрд╣рд▓реЗ рднреА, рд╡рд┐рдирд╛рд╢рдХреЛрдВ рдореЗрдВ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдлреЗрдВрдХрдирд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рдЦрд░рд╛рдм рд░реВрдк рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ред C ++ 11 рдореЗрдВ, рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдореГрддреНрдпреБ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред
C ++ 11 рдореЗрдВ,
рд╕рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рд╕реНрдЯреНрд░рдХреНрдЯрд░реНрд╕ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ
noexcept рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд
рд╣реЛрддреЗ рд╣реИрдВ ред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╡рд░реНрдЧ рд╣реИ рдЬреЛ рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдореЗрдВ рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрддрд╛ рд╣реИ, рддреЛ C ++ 11 std :: terminate () рдореЗрдВ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдХреЛ рдХреЙрд▓ рдХрд┐рдП рдмрд┐рдирд╛ рдкреВрд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдмреЗрд╢рдХ, рдЖрдк рдЗрд╕рдХреЗ рдЖрд╕-рдкрд╛рд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрдХрд▓рдХ рдХреЛ рдмрддрд╛рдПрдВ рдХрд┐ рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрддрд╛ рд╣реИ ... рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЕрдЪреНрдЫреЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реИ?
рдпреЛрдЧ рдХреЗ рдмрдЬрд╛рдп
рдкреБрд╕реНрддрдХ рдореЗрдВ рд╕реА ++ рдФрд░ рдмреВрд╕реНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рддреЗрдВ рд╣реИрдВ, рдЖрдк рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдкрд╣рд▓реЗ рдХреНрдпрд╛ рд╕реБрдирдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ: