рдкреНрд░рд▓рдпрдХрд╛рд▓ рдХреЗ рдХрд╛рд▓реЗ рджрд┐рди рдЖрдЧреЗ: рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рд░реЛрдЧрд╡рд┐рд╖рдпрдХ рдЦреЗрд▓

рдЪрд┐рддреНрд░ 5

рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рд╢реАрд░реНрд╖рдХ рд╕реЗ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд▓рд┐рдпрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдЬ рдХрд╛ рд▓реЗрдЦ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдмрдЧ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЗрддрдирд╛ рд╣реА рдирд╣реАрдВред рдпрджрд┐ рдЖрдк рди рдХреЗрд╡рд▓ рд╕реА ++ рдореЗрдВ рдФрд░ рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛрдб рдореЗрдВ рдмрдЧреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╡реАрдбрд┐рдпреЛ рдЧреЗрдо рднреА рдЦреЛрджрддреЗ рд╣реИрдВ рдФрд░ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ "roguelikes" рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдЦреЗрд▓рддреЗ рд╣реИрдВ, рддреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!

рдЕрд╕рд╛рдорд╛рдиреНрдп рдЦреЗрд▓реЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдХреИрдЯреИрдХрд▓реАрдо рдбрд╛рд░реНрдХ рдбреЗрдЬ рдЕрд╣реЗрдб рдкрд░ рдареЛрдХрд░ рдЦрд╛рдИ, рдЬреЛ рдХрд┐ рдмреНрд▓реИрдХ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдкрд░ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╡рд┐рднрд┐рдиреНрди рд░рдВрдЧреЛрдВ рдХреЗ ASCII рд╡рд░реНрдгреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдкрдиреЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреА рдмрджреМрд▓рдд рдЕрдиреНрдп рдЦреЗрд▓реЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред

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

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

рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЧреЗрдо рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╣реА рдЪреЗрдХ рдХрд┐рдП рдЬрд╛ рдЪреБрдХреЗ рд╣реИрдВред рдЖрдк рд╣рдорд╛рд░реЗ рд▓реЗрдЦ " рд╡реАрдбрд┐рдпреЛ рдЧреЗрдо рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдореЗрдВ рд╕реНрдЯреЗрдЯрд┐рдХ рдПрдирд╛рд▓рд┐рд╕рд┐рд╕: рдЯреЙрдк 10 рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдмрдЧреНрд╕ " рдореЗрдВ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рддрд░реНрдХ


рдЙрджрд╛рд╣рд░рдг 1:

рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдХреНрд▓рд╛рд╕рд┐рдХ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рддрд╛ рд╣реИред

V501 рдмрд╛рдИрдВ рдФрд░ 'рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ' || рдСрдкрд░реЗрдЯрд░: rng (2, 7) <abs (z) || rng (2, 7) <abs (z) рдУрд╡рд░рдореИрдкред 1503

bool overmap::generate_sub( const int z ) { .... if( rng( 2, 7 ) < abs( z ) || rng( 2, 7 ) < abs( z ) ) { .... } .... } 

рдПрдХ рд╣реА рд╕реНрдерд┐рддрд┐ рдХреЛ рджреЛ рдмрд╛рд░ рдЬрд╛рдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛ред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдЧ рд╣реИ, рд▓реЗрдХрд┐рди рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЪреЗрдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдерд╛ред

рдЗрд╕реА рддрд░рд╣ рдХреА рдПрдХ рдФрд░ рддреНрд░реБрдЯрд┐:

  • V501 рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ 'one_in (100000 / to_turns <int> (dur))' рдмрд╛рдИрдВ рдУрд░ рдФрд░ '&&' рдСрдкрд░реЗрдЯрд░ рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╣реЛрддреА рд╣реИрдВред player_hardcoded_effects.cpp 547

рдЪрд┐рддреНрд░ 11

рдЙрджрд╛рд╣рд░рдг 2:

V728 рдПрдХ рдЕрддреНрдпрдзрд┐рдХ рдЬрд╛рдБрдЪ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдж '(A && B) || ((A &&! B) 'рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐' рдмреВрд▓ (рдП) == рдмреВрд▓ (рдмреА) 'рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА_рдпреВ.рд╕реА .рдкреАрд╕реА 199

 bool inventory_selector_preset::sort_compare( .... ) const { .... const bool left_fav = g->u.inv.assigned.count( lhs.location->invlet ); const bool right_fav = g->u.inv.assigned.count( rhs.location->invlet ); if( ( left_fav && right_fav ) || ( !left_fav && !right_fav ) ) { return .... } .... } 

рдпрд╣ рд╕реНрдерд┐рддрд┐ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рд╕рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрддрд┐рд░рдВрдЬрд┐рдд рд╣реИред рдЬрд┐рд╕рдиреЗ рднреА рдЗрд╕ рдХреЛрдб рдХреЛ рд▓рд┐рдЦрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рд╕рд╛рдереА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реЛрдВ рдкрд░ рджрдпрд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЗрд╕реЗ рдмрдирд╛рдП рд░рдЦреЗрдВрдЧреЗред рдЗрд╕реЗ рд╕рд░рд▓ рд░реВрдк рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдпрджрд┐ (рдмрд╛рдпрд╛рдВ_рдлреИрд╡ == рджрд╛рдпрд╛рдВ_рдлреИрд╡) ред

рдЗрд╕реА рддрд░рд╣ рдХреА рдПрдХ рдФрд░ рддреНрд░реБрдЯрд┐:

  • V728 рдПрдХ рдЕрддреНрдпрдзрд┐рдХ рдЬрд╛рдБрдЪ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдж '(A &&! B) || (рдП! рдФрд░ рдмреА) рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'рдмреВрд▓ (рдП) рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ! = рдмреВрд▓ (рдмреА)' рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ред iuse_actor.cpp 2653

рдкрд╛рдЪрди рдореИрдВ


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

рдЪрд┐рддреНрд░ 8

рдорд╛рдЗрдХреНрд░реЛ рдЕрдиреБрдХреВрд▓рди


рдЙрджрд╛рд╣рд░рдг 3:

рдЗрд╕ рд╕рдореВрд╣ рдХреА рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рдЙрди рд╕реНрдерд╛рдиреЛрдВ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреА рд╣реИрдВ, рдЬреЛ рдмрдЧ рдХреЗ рдмрдЬрд╛рдп рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

V801 рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрдореАред рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рджреВрд╕рд░реЗ рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред 'Const ... рдЯрд╛рдЗрдк рдХрд░реЗрдВ' рдХреА рдЬрдЧрд╣ 'const ... & рдЯрд╛рдЗрдк' рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред map.cpp 4644

 template <typename Stack> std::list<item> use_amount_stack( Stack stack, const itype_id type ) { std::list<item> ret; for( auto a = stack.begin(); a != stack.end() && quantity > 0; ) { if( a->use_amount( type, ret ) ) { a = stack.erase( a ); } else { ++a; } } return ret; } 

рдЗрд╕ рдХреЛрдб рдореЗрдВ, itype_id рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдкреНрд░рдЪреНрдЫрдиреНрди std :: string рд╣реИ ред рдЪреВрдВрдХрд┐ рддрд░реНрдХ рдХреЛ рдПрдХ рдирд┐рд░рдВрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реИрд╕реЗ рднреА рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реИ, рдмрд╕ рдЪрд░ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЧреБрдЬрд░рдиреЗ рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рдиреЗ рдФрд░ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдХреЙрдкреА рдСрдкрд░реЗрд╢рди рд╕реЗ рдмрдЪрдиреЗ рд╕реЗ рдмрдЪрд╛рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред рдФрд░ рднрд▓реЗ рд╣реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдПрдХ рд▓рдВрдмрд╛ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ, рд╣рд░ рдмрд╛рд░ рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рдХреЗ рдмрд┐рдирд╛ рдЗрд╕реЗ рдХреЙрдкреА рдХрд░рдирд╛ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ - рд╕рднреА рдЕрдзрд┐рдХ рдЗрд╕рд▓рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдХреЙрд▓рд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ, рдмрд╛рд╣рд░ рд╕реЗ рднреА рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣реЛрддреЗ рд╣реИрдВ рдЗрд╕реЗ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ:

  • V801 рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрдореАред рдПрдХ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рддреАрд╕рд░реЗ рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред 'Const ... evt_filter' рдХреЛ 'const ... & evt_filter' рд╕реЗ рдмрджрд▓рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред input.cpp 691
  • V801 рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрдореАред рдПрдХ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рдВрдЪрд╡реЗрдВ рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред 'Const ... рдХрд▓рд░' рдХреЛ 'const ... рдФрд░ рдХрд▓рд░' рд╕реЗ рдмрджрд▓рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЖрдЙрдЯрдкреБрдЯред рд╣ 207
  • рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдХреБрд▓ 32 рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рдЬрд╛рд░реА рдХреАрдВред

рдЙрджрд╛рд╣рд░рдг 4:

V813 рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрдореАред 'Str' рддрд░реНрдХ рдХреЛ рд╕рдВрднрд╡рддрдГ рдПрдХ рдирд┐рд░рдВрддрд░ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред catacharset.cpp 256

 std::string base64_encode( std::string str ) { if( str.length() > 0 && str[0] == '#' ) { return str; } int input_length = str.length(); std::string encoded_data( output_length, '\0' ); .... for( int i = 0, j = 0; i < input_length; ) { .... } for( int i = 0; i < mod_table[input_length % 3]; i++ ) { encoded_data[output_length - 1 - i] = '='; } return "#" + encoded_data; } 

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

рдпрд╣ рдЪреЗрддрд╛рд╡рдиреА рдЕрдХреЗрд▓реЗ рднреА рдирд╣реАрдВ рдЖрдИ рдереА; рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ 26 рд╣реИред

рдЪрд┐рддреНрд░ 7

рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ:

  • V813 рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрдореАред 'рд╕рдВрджреЗрд╢' рддрд░реНрдХ рдХреЛ рд╕рдВрднрд╡рддрдГ рдПрдХ рдирд┐рд░рдВрддрд░ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред json.cpp 1452
  • V813 рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрдореАред 'S' рддрд░реНрдХ рдХреЛ рд╕рдВрднрд╡рддрдГ рдПрдХ рдирд┐рд░рдВрддрд░ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред catacharset.cpp 218
  • рдФрд░ рдЗрд╕реА рддрд░рд╣тАж

рдкрд╛рдЪрди ii


рдХреБрдЫ рдХреНрд▓рд╛рд╕рд┐рдХ рд░реЙрдЧреБрд▓рд╛рдЗрдХ рдЧреЗрдо рдЕрднреА рднреА рд╕рдХреНрд░рд┐рдп рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╣реИрдВред рдпрджрд┐ рдЖрдк Cataclysm DDA рдпрд╛ NetHack рдХреЗ GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╣рд░ рджрд┐рди рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдиреЗрдЯрд╣реИрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдмрд╕реЗ рдкреБрд░рд╛рдирд╛ рдЧреЗрдо рд╣реИ рдЬрд┐рд╕реЗ рдЕрднреА рднреА рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ: рдпрд╣ рдЬреБрд▓рд╛рдИ 1987 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг 2018 рдХреА рддрд╛рд░реАрдЦ рд╣реИред

рдмреМрдирд╛ рдХрд┐рд▓реЗ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ - рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЫреЛрдЯреА - рд╢реИрд▓реА рдХреЗ рдЦреЗрд▓ред рд╡рд┐рдХрд╛рд╕ 2002 рдореЗрдВ рд╢реБрд░реВ рд╣реБрдЖ рдФрд░ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг 2006 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХрд╛ рдЖрджрд░реНрд╢ рд╡рд╛рдХреНрдп "рд╣рд╛рд░рдирд╛ рдордЬреЗрджрд╛рд░ рд╣реИ" рдЗрд╕ рддрдереНрдп рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдЦреЗрд▓ рдореЗрдВ рдЬреАрддрдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред 2007 рдореЗрдВ, рдПрдПрд╕рд╕реАрдЖрдИрдЖрдИ рдЧреЗрдо рд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рддрд┐рд╡рд░реНрд╖ рдЖрдпреЛрдЬрд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдорддрджрд╛рди рджреНрд╡рд╛рд░рд╛ рдмреМрдиреЗ рдХрд┐рд▓реЗ рдХреЛ "рд╡рд░реНрд╖ рдХрд╛ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рд░реЛрдЧрд╡рд┐рд╖рдпрдХ рдЦреЗрд▓" рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдЪрд┐рддреНрд░ 6

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

рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛


рдЙрджрд╛рд╣рд░рдг 5, 6:

рдпрд╣рд╛рдБ рджрд┐рд▓рдЪрд╕реНрдк рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рд╣реИред

V690 'JsonObject' рдХреНрд▓рд╛рд╕ рдПрдХ рдХреЙрдкреА рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ '=' тАЛтАЛрдСрдкрд░реЗрдЯрд░ рдХреА рдХрдореА рд╣реЛрддреА рд╣реИред рдРрд╕реА рдХрдХреНрд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЦрддрд░рдирд╛рдХ рд╣реИред json.h 647

 class JsonObject { private: .... JsonIn *jsin; .... public: JsonObject( JsonIn &jsin ); JsonObject( const JsonObject &jsobj ); JsonObject() : positions(), start( 0 ), end( 0 ), jsin( NULL ) {} ~JsonObject() { finish(); } void finish(); // moves the stream to the end of the object .... void JsonObject::finish() { .... } .... } 

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

рдЕрдЧрд▓реА рдХрдХреНрд╖рд╛ рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред

V690 'JsonArray' рдХреНрд▓рд╛рд╕ рдПрдХ рдХреЙрдкреА рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди '=' рдСрдкрд░реЗрдЯрд░ рдХреА рдХрдореА рд╣реИред рдРрд╕реА рдХрдХреНрд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЦрддрд░рдирд╛рдХ рд╣реИред json.h 820

 class JsonArray { private: .... JsonIn *jsin; .... public: JsonArray( JsonIn &jsin ); JsonArray( const JsonArray &jsarr ); JsonArray() : positions(), ...., jsin( NULL ) {}; ~JsonArray() { finish(); } void finish(); // move the stream position to the end of the array void JsonArray::finish() { .... } } 

рдПрдХ рдЬрдЯрд┐рд▓ рд╡рд░реНрдЧ рдореЗрдВ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдЦрддрд░рд╛ " рдж рд▓реЙ рдСрдл рдж рдмрд┐рдЧ рдЯреВ " рд▓реЗрдЦ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг 7, 8:

рдпреЗ рджреЛрдиреЛрдВ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░ рдУрд╡рд░рд░рд╛рдЗрдбрд┐рдВрдЧ рд╕реЗ рднреА рдирд┐рдкрдЯрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░ рдЗрд╕рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВред

V794 рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░ рдХреЛ 'рдпрд╣ == & рдЕрдиреНрдп' рдХреЗ рдорд╛рдорд▓реЗ рд╕реЗ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдордЯрдХрд╛_ рдЕрд╕рд╛рдорд╛рдиреНрдп.рд╣ 49

 class StringRef { public: .... private: friend struct StringRefTestAccess; char const* m_start; size_type m_size; char* m_data = nullptr; .... auto operator = ( StringRef const &other ) noexcept -> StringRef& { delete[] m_data; m_data = nullptr; m_start = other.m_start; m_size = other.m_size; return *this; } 

рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реНрд╡-рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреЗ рдЦрд┐рд▓рд╛рдл рдХреЛрдИ рд╕реБрд░рдХреНрд╖рд╛ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдЕрднреНрдпрд╛рд╕ рд╣реИред рдпрд╣реА рд╣реИ, рдЗрд╕ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдВрджрд░реНрдн * рдкрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣рд╛рдБ рдПрдХ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдПрдХ рд╕рдорд╛рди рдЙрджрд╛рд╣рд░рдг рдПрдХ рдЕрдЬреАрдмреЛрдЧрд░реАрдм рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рд╣реИ:

V794 рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░ рдХреЛ 'рдпрд╣ == & rhs' рдХреЗ рдорд╛рдорд▓реЗ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред player_activity.cpp 38

 player_activity &player_activity::operator=( const player_activity &rhs ) { type = rhs.type; .... targets.clear(); targets.reserve( rhs.targets.size() ); std::transform( rhs.targets.begin(), rhs.targets.end(), std::back_inserter( targets ), []( const item_location & e ) { return e.clone(); } ); return *this; } 

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

рдЪрд┐рддреНрд░ 3

рдкрд╛рдЪрди iii


2008 рдореЗрдВ, roguelikes рдХреЛ рдорд╣рд╛рдХрд╛рд╡реНрдп рд╢реАрд░реНрд╖рдХ "рдмрд░реНрд▓рд┐рди рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯреЗрд╢рди" рдХреЗ рддрд╣рдд рдПрдХ рдФрдкрдЪрд╛рд░рд┐рдХ рдкрд░рд┐рднрд╛рд╖рд╛ рднреА рдорд┐рд▓реАред рдЗрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдРрд╕реЗ рд╕рднреА рдЦреЗрд▓ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрддреНрд╡реЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ:

  • рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЙрддреНрдкрдиреНрди рджреБрдирд┐рдпрд╛, рдЬреЛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдмрдврд╝рд╛рддреА рд╣реИ;
  • Permadeath: рдпрджрд┐ рдЖрдкрдХрд╛ рдЪрд░рд┐рддреНрд░ рдорд░ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡реЗ рдЕрдЪреНрдЫреЗ рдХреЗ рд▓рд┐рдП рдорд░ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдирдХреЗ рд╕рднреА рдЖрдЗрдЯрдо рдЦреЛ рдЬрд╛рддреЗ рд╣реИрдВ;
  • рдЯрд░реНрди-рдЖрдзрд╛рд░рд┐рдд рдЧреЗрдордкреНрд▓реЗ: рдХреЛрдИ рднреА рдкрд░рд┐рд╡рд░реНрддрди рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╣реА рд╣реЛрддрд╛ рд╣реИ; рд╕рдордп рдХрд╛ рдкреНрд░рд╡рд╛рд╣ рддрдм рддрдХ рдирд┐рд▓рдВрдмрд┐рдд рд░рд╣рддрд╛ рд╣реИ рдЬрдм рддрдХ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛрдИ рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдХрд░рддрд╛;
  • рдЙрддреНрддрд░рдЬреАрд╡рд┐рддрд╛: рд╕рдВрд╕рд╛рдзрди рдмрд╣реБрдд рдХрдо рд╣реИрдВред

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

рдпрд╣ рдЖрдк рдХреЗ рд▓рд┐рдП рдХреИрдЯреЗрдХрд▓реАрд╕реНрд╕ рдбреАрдбреАрдП рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рд╣реИ рдХрд┐ рдЖрдк рд╣рдбреНрдбреА, рднреВрдЦреЗ, рдкреНрдпрд╛рд╕реЗ, рдФрд░ рдЕрдкрдиреЗ рд╕рднреА рдкреИрд░реЛрдВ рдХреЛ рдЫрд╣ рдЯреЗрдВрдХрд▓реЗрд╕ рдХреЗ рд╕рд╛рде рдмрджрд▓рдХрд░, рд╣рдбреНрдбреА рдХреЛ рдЬрдореА рд╣реБрдИ, рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░рд┐рддреНрд░ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред

рдЪрд┐рддреНрд░ 15

рдЙрд╕ рдмрд╛рдд рдХрд╛ рд╡рд┐рд╡рд░рдг


рдЙрджрд╛рд╣рд░рдг 9:

V1028 рд╕рдВрднрд╛рд╡рд┐рдд рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ред 'Size_t' рдкреНрд░рдХрд╛рд░ рдХреЗ 'рдкреНрд░рд╛рд░рдВрдн + рдмрдбрд╝реЗ' рдСрдкрд░реЗрдЯрд░ рдХреЗ рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдСрдкрд░реЗрдВрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВред worldfactory.cpp 638

 void worldfactory::draw_mod_list( int &start, .... ) { .... int larger = ....; unsigned int iNum = ....; .... for( .... ) { if( iNum >= static_cast<size_t>( start ) && iNum < static_cast<size_t>( start + larger ) ) { .... } .... } .... } 

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдПрдХ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рд╛рд╡рдзрд╛рдиреА рдмрд░рддрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд░рд╛рд╢рд┐ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдЪрд░рдг рдореЗрдВ, рдФрд░ рдкрджреЛрдиреНрдирддрд┐ рдПрдХ рдЕрд░реНрдерд╣реАрди рдореВрд▓реНрдп рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рдПрдХ рддрд░реНрдХ рдХреЛ рдПрдХ рд╡реНрдпрд╛рдкрдХ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: (static_cast <size_t> (start) + +) ред

рдЙрджрд╛рд╣рд░рдг 10:

V530 рдлрд╝рдВрдХреНрд╢рди 'рдЖрдХрд╛рд░' рдХреЗ рд░рд┐рдЯрд░реНрди рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред worldfactory.cpp 1340

 bool worldfactory::world_need_lua_build( std::string world_name ) { #ifndef LUA .... #endif // Prevent unused var error when LUA and RELEASE enabled. world_name.size(); return false; } 

рдЗрд╕ рддрд░рд╣ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд╛рд▓ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдЕрдкреНрд░рдпреБрдХреНрдд рдЪрд░ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рд╕рдВрдХрд▓рдХ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рджрдмрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдмрд╕ рдЙрд╕ рдЪрд░ рдкрд░ рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп (рд╢реВрдиреНрдп) world_name рд▓рд┐рдЦреЗрдВред

рдЙрджрд╛рд╣рд░рдг 11:

V812 рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрдореАред 'рдЧрд┐рдирддреА' рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЕрдкреНрд░рднрд╛рд╡реА рдЙрдкрдпреЛрдЧред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдХреЙрд▓ рдХреЛ 'рдЦреЛрдЬ' рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред рдЦрд┐рд▓рд╛реАред реп ремрежреж

 bool player::read( int inventory_position, const bool continuous ) { .... player_activity activity; if( !continuous || !std::all_of( learners.begin(), learners.end(), [&]( std::pair<npc *, std::string> elem ) { return std::count( activity.values.begin(), activity.values.end(), elem.first->getID() ) != 0; } ) { .... } .... } 

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

рдЙрджрд╛рд╣рд░рдг 12:

рдЗрд╕ рдмрдЧ рдХреЛ рдЦреЛрдЬрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдпрджрд┐ рдЖрдк рдЪрд╛рд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рд╡рд┐рд╡рд░рдг рдЬрд╛рдирддреЗ рд╣реИрдВред

V739 рдИрдУрдПрдл рдХреА рддреБрд▓рдирд╛ 'рдЪрд╛рд░' рдкреНрд░рдХрд╛рд░ рдХреЗ рдореВрд▓реНрдп рд╕реЗ рдирд╣реАрдВ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред 'Ch' 'int' рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред json.cpp 762

 void JsonIn::skip_separator() { signed char ch; .... if (ch == ',') { if( ate_separator ) { .... } .... } else if (ch == EOF) { .... } 

рдЪрд┐рддреНрд░ 13

рдпрд╣ рдЙрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдирд╣реАрдВ рдЬрд╛рди рдкрд╛рдПрдВрдЧреЗ, рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдИрдУрдПрдл -1 рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬрдм рдЗрд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдЪрд╛рд░реНрдЯ рдХреЗ рдЪрд░ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕реНрдерд┐рддрд┐ рд▓рдЧрднрдЧ рд╣рд░ рдорд╛рдорд▓реЗ рдореЗрдВ рдЭреВрдареА рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддреА рд╣реИред рдПрдХрдорд╛рддреНрд░ рдЕрдкрд╡рд╛рдж рдЪрд░рд┐рддреНрд░ рдХреЗ рд╕рд╛рде рд╣реИ рдЬрд┐рд╕рдХрд╛ рдХреЛрдб 0xFF (255) рд╣реИред рдЬрдм рдПрдХ рддреБрд▓рдирд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ -1 рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдЪ рдХрд░ рджреЗрдЧрд╛ред

рдЙрджрд╛рд╣рд░рдг 13:

рдпрд╣ рдЫреЛрдЯрд╛ рдмрдЧ рдХрд┐рд╕реА рджрд┐рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рд╣реИрдВ, рдЖрдЦрд┐рд░рдХрд╛рд░, рдпрд╣ CWE рдХреА рд╕реВрдЪреА рдореЗрдВ CWE-834 рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдиреЗ рдЗрд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдкрд╛рдВрдЪ рдмрд╛рд░ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИред

V663 рдЕрдирдВрдд рд▓реВрдк рд╕рдВрднрд╡ рд╣реИред рд▓реВрдк рд╕реЗ рдЯреВрдЯрдиреЗ рдХреЗ рд▓рд┐рдП 'Cin.eof ()' рд╕реНрдерд┐рддрд┐ рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП 'cin.fail ()' рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдХреНрд░рд┐рдпрд╛ .pp 46

 void parse_keymap( std::istream &keymap_txt, .... ) { while( !keymap_txt.eof() ) { .... } } 

рдЬреИрд╕рд╛ рдХрд┐ рдЪреЗрддрд╛рд╡рдиреА рдХрд╣рддреА рд╣реИ, рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрдврд╝рддреЗ рд╕рдордп рдИрдУрдПрдл рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ - рдЖрдкрдХреЛ рд╕рд┐рдиреЗ.рдлрд╛рдЗрд▓ () рдХреЙрд▓ рдХрд░рдХреЗ рдЗрдирдкреБрдЯ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рд▓рд┐рдП рднреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рд╣реЛрдЧреАред рдЪрд▓реЛ рдЗрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдареАрдХ рдХрд░реЗрдВ:

 while( !keymap_txt.eof() ) { if(keymap_txt.fail()) { keymap_txt.clear(); keymap_txt.ignore(numeric_limits<streamsize>::max(),'\n'); break; } .... } 

Keymap_txt.clear () рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдПрдХ рддреНрд░реБрдЯрд┐ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рд╕реНрдЯреНрд░реАрдо рдкрд░ рддреНрд░реБрдЯрд┐ рд╕реНрдерд┐рддрд┐ (рдзреНрд╡рдЬ) рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдирд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рд╢реЗрд╖ рдкрд╛рда рдХреЛ рдкрдврд╝ рд╕рдХреЗрдВред рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде keymap_txt.ignore рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реБрдП num_limits < рд╕реНрдЯреНрд░реАрдо > :: max () рдФрд░ newline рд╡рд░реНрдг рдЖрдкрдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╢реЗрд╖ рднрд╛рдЧ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдкрдврд╝рдиреЗ рдХреЛ рд░реЛрдХрдиреЗ рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╕рд░рд▓ рддрд░реАрдХрд╛ рд╣реИ:

 while( !keymap_txt ) { .... } 

рдЬрдм рддрд░реНрдХ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдзрд╛рд░рд╛ рдИрдУрдПрдл рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рд╕рд╣реА рдХреЗ рдмрд░рд╛рдмрд░ рдореВрд▓реНрдп рдореЗрдВ рдмрджрд▓ рджреЗрдЧреАред

рдкрд╛рдЪрди iv


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

рд╣рд╛рд▓рд╛рдБрдХрд┐, roguelike рдФрд░ roguelite рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдХрдИ рдмрд╛рд░ рдЗрддрдирд╛ рдЫреЛрдЯрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдпрд╣ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддреЗ рдХрд┐ рдЧреЗрдо рдХрд┐рд╕ рд╢реНрд░реЗрдгреА рдореЗрдВ рдЖрддрд╛ рд╣реИред рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХрд╛ рддрд░реНрдХ рд╣реИ рдХрд┐ рдмреМрдирд╛ рдХрд┐рд▓реЗ рд╕рдЦреНрдд рдЕрд░реНрдереЛрдВ рдореЗрдВ рдПрдХ рд░реЙрдЧрд╡рд┐рд▓рд╛рдЗрдХ рдирд╣реАрдВ рд╣реИ, рдЬрдмрдХрд┐ рдЕрдиреНрдп рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдбрд┐рдпрд╛рдмреНрд▓реЛ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рд░реВрдЧреНрдпреБрд▓рд╛рдЗрдХ рдЧреЗрдо рд╣реИред

рдЪрд┐рддреНрд░ 1

рдирд┐рд╖реНрдХрд░реНрд╖


рднрд▓реЗ рд╣реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЖрдо рддреМрд░ рдкрд░ рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реА рд╕рд╛рдмрд┐рдд рд╣реБрдИ, рдХреЗрд╡рд▓ рдХреБрдЫ рдЧрдВрднреАрд░ рджреЛрд╖реЛрдВ рдХреЗ рд╕рд╛рде, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рд╢рдХреНрддрд┐ рдПрдХ рдмрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рдмрдЬрд╛рдп рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реИ рдЬреЛ рд╣рдо рд▓реЛрдХрдкреНрд░рд┐рдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрдХрд░реНрддрд╛ рдЖрдкрдХреЛ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╢реБрд░реБрдЖрддреА рдЪрд░рдг рдореЗрдВ рдмрдЧ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╕реНрддрд╛ рдмрдирд╛рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдЧрдгрдирд╛ ред

рдЪрд┐рддреНрд░ 2

рдЦреЗрд▓ рдХреЛ рдЕрднреА рднреА рддреАрд╡реНрд░рддрд╛ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕ рдкрд░ рдПрдХ рд╕рдХреНрд░рд┐рдп рдорд╛рдбрд░ рд╕рдореБрджрд╛рдп рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рд╡реИрд╕реЗ, рдЗрд╕реЗ рдХрдИ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рдЖрдИрдУрдПрд╕ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдПрдВ!

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


All Articles