PVS-Studio рдЕрдм C ++ / CLI рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ

рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ, рд╕реА ++ / рд╕реАрдПрд▓рдЖрдИ

рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рд╕реА ++ / рд╕реАрдПрд▓рдЖрдИ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдРрд╕реА рдХреБрдЫ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдБ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рд╕рдордп-рд╕рдордп рдкрд░ рд╣рдо рдЙрдирдХреЗ рд╕рд╛рдордиреЗ рдЖрддреЗ рд╣реИрдВред Microsoft рд╡рд░реНрддрдорд╛рди рдореЗрдВ C ++ / CLI рднрд╛рд╖рд╛ рдХрд╛ рд╕рдорд░реНрдерди рдмрдВрдж рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЗрд╕ рддрд░рд╣ рдХреА рднрд╛рд╖рд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рд╣реИред



C ++ / CLI рд╕рдорд░реНрдерди



рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛: C ++ / CLI - C ++ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд▓реИрдВрдЧреНрд╡реЗрдЬ рдХреЛ Microsoft .NET рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдмрд╛рдБрдзрдирд╛ред рдпрд╣ рдХреЙрдорди рд▓реИрдВрдЧреНрд╡реЗрдЬ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ (рд╕реАрдПрд▓рдЖрд░) рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдпреВрдирд┐рдлрд╛рдЗрдб рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо (рдпреВрдЯреАрдПрд╕) рдХреЗ рд╕рд╛рде рдЖрдИрдПрд╕рдУ рдорд╛рдирдХ рдХреЗ рд╕реА ++ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдореВрд▓ рд╕реНрддрд░ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд C ++ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕реНрд░реЛрдд рд╕реНрддрд░ рдФрд░ рдЕрдВрддрд░ рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред C ++ / CLI C ++ рдХреЗ рдПрдХ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред



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



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



SlimDX



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



рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ: http://slimdx.org/



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



рдорд╛рдиреНрдпрддрд╛ рдкрд░рд┐рдгрд╛рдо



рдиреАрдЪреЗ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рд╣реИрдВ рдЬреЛ рдореБрдЭреЗ рдЧрд▓рдд рд▓рдЧреЗред



рдЯреБрдХрдбрд╝реЗ рдЯреБрдХрдбрд╝реЗ рдХрд░рдирд╛ N рез

ContainmentType BoundingBox::Contains( BoundingBox box, BoundingSphere sphere ) { .... if( box.Minimum.X + radius <= sphere.Center.X && sphere.Center.X <= box.Maximum.X - radius && box.Maximum.X - box.Minimum.X > radius && <<<=== box.Minimum.Y + radius <= sphere.Center.Y && sphere.Center.Y <= box.Maximum.Y - radius && box.Maximum.Y - box.Minimum.Y > radius && box.Minimum.Z + radius <= sphere.Center.Z && sphere.Center.Z <= box.Maximum.Z - radius && box.Maximum.X - box.Minimum.X > radius) <<<=== return ContainmentType::Contains; .... }
      
      





PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V501 рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ 'box.Maximum.X - box .inimum.X> рддреНрд░рд┐рдЬреНрдпрд╛' рдмрд╛рдИрдВ рдУрд░ рдФрд░ '&&' рд╕рдВрдЪрд╛рд▓рдХ рдХреЗ рджрд╛рдИрдВ рдУрд░ред рдмрд╛рдЙрдВрдбрдмреЙрдХреНрд╕рдмреЙрдХреНрд╕ 94



рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдб рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛ рдерд╛ред рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдЕрдВрдд рдореЗрдВ "box.Maximum.Z - box.inimum.Z> рддреНрд░рд┐рдЬреНрдпрд╛" рд▓рд┐рдЦрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред



рдЯреБрдХрдбрд╝рд╛ рдХрд░рдирд╛ N2

 typedef struct DIJOYSTATE2 { .... LONG rglSlider[2]; .... LONG rglVSlider[2]; .... LONG rglASlider[2]; .... LONG rglFSlider[2]; .... } DIJOYSTATE2, *LPDIJOYSTATE2; void JoystickState::AssignState(const DIJOYSTATE2 &joystate) { .... for( int i = 0; i < 2; i++ ) { sliders[i] = joystate.rglSlider[i]; asliders[i] = joystate.rglASlider[i]; vsliders[i] = joystate.rglVSlider[i]; fsliders[i] = joystate.rglVSlider[i]; } .... }
      
      





рдЪреЗрддрд╛рд╡рдиреА PVS-Studio: V525 рд╕рдорд╛рди рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рд╡рд╛рд▓рд╛ рдХреЛрдбред рдЪреЗрдХ рдЖрдЗрдЯрдо 'rglSlider', 'rglASlider', 'rglVSlider', 'rglVSlider' рд▓рд╛рдЗрдиреЛрдВ 93, 94, 95, 96 рдореЗрдВред joystickstate.cpp 93



рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдХреЛрдб рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдкреЛ рд╣реИред рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдХреЛ рд╢рд╛рдпрдж rglFSlider рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

 sliders[i] = joystate.rglSlider[i]; asliders[i] = joystate.rglASlider[i]; vsliders[i] = joystate.rglVSlider[i]; fsliders[i] = joystate.rglFSlider[i];
      
      





рдЯреБрдХрдбрд╝рд╛ рдХрд░рдирд╛ N3

 array<SoundEffectResult>^ SecondarySoundBuffer::SetEffects( array<Guid>^ effects ) { DWORD count = effects->Length; .... if( effects != nullptr && count > 0 ) .... }
      
      





PVS- рд╕реНрдЯреВрдбрд┐рдпреЛ рдЪреЗрддрд╛рд╡рдиреА: V595 'рдкреНрд░рднрд╛рд╡' рдкреЙрдЗрдВрдЯрд░ рдХреЛ nullptr рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЪреЗрдХ рд▓рд╛рдЗрдиреЗрдВ: 66, 73. рдЧреМрдг рдЧреМрдг



рд╢реБрд░реБрдЖрдд рдореЗрдВ, 'рдЗрдлреЗрдХреНрдЯреНрд╕' рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдбрд┐рдлрд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рдпрд╣ рд╕рдорд╛рдирддрд╛ рдХреЗ рд▓рд┐рдП рд╢реВрдиреНрдп рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИред



рдЯреБрдХрдбрд╝рд╛ рдХрд░рдирд╛ N4



рдПрдХ рд╡рд░реНрдЧ 'TVariable' рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрднрд╛рд╕реА рдХрд╛рд░реНрдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

 template<typename IBaseInterface> struct TVariable : public IBaseInterface { virtual BOOL IsValid() { .... } .... };
      
      





рдЗрд╕ рд╡рд░реНрдЧ рд╕реЗ SMember рд╡рд░реНрдЧ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╢реВрдиреНрдп рдХреЛ ZeroMemory () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред

 struct SMember : public TVariable<TMember<ID3DX11EffectVariable> > { }; CEffectVectorOwner<SMember> m_pMemberInterfaces; ZeroMemory HRESULT CEffect::CopyMemberInterfaces(....) { .... ZeroMemory( &m_pMemberInterfaces[i], sizeof(SMember) * ( Members - i ) ); .... }
      
      





PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V598 'рдореЗрдорд╕реЗрдЯ' рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ 'SMember' рд╡рд░реНрдЧ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рд╢реВрдиреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд┐рдзрд┐ рддрд╛рд▓рд┐рдХрд╛ рдЗрд╕рд╕реЗ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рдПрдЧреАред effectnonruntime.cpp 1739



рдЪреВрдБрдХрд┐ рд╡рд░реНрдЪреБрдЕрд▓ рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП SMember рдХреНрд▓рд╛рд╕ рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рддрд░реАрдХреЛрдВ рдХреА рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рд╣реЛрддрд╛ рд╣реИред рдЬрдм рдЖрдк ZeroMemory () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдкреЙрдЗрдВрдЯрд░ рджреВрд╖рд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред



рдЗрд╕реА рддрд░рд╣:

рдЯреБрдХрдбрд╝реЗ рдХрд░рдирд╛ N5

 #pragma warning(disable: 4369) public enum class WaveFormatTag : System::Int32 { Pcm = WAVE_FORMAT_PCM, AdPcm = WAVE_FORMAT_ADPCM, IeeeFloat = WAVE_FORMAT_IEEE_FLOAT, MpegLayer3 = WAVE_FORMAT_MPEGLAYER3, DolbyAC3Spdif = WAVE_FORMAT_DOLBY_AC3_SPDIF, WMAudio2 = WAVE_FORMAT_WMAUDIO2, WMAudio3 = WAVE_FORMAT_WMAUDIO3, WmaSpdif = WAVE_FORMAT_WMASPDIF, Extensible = WAVE_FORMAT_EXTENSIBLE, }; #pragma warning(default: 4369)
      
      





PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V665 рд╕рдВрднрд╡рддрдГ, рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ '#pragma рдЪреЗрддрд╛рд╡рдиреА (рдбрд┐рдлрд╝реЙрд▓реНрдЯ: X)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдЧрд▓рдд рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп '#Pagma рдЪреЗрддрд╛рд╡рдиреА (рдкреБрд╢ / рдкреЙрдк)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЪреЗрдХ рд▓рд╛рдЗрдиреЗрдВ: 1089, 1102. enums.h 1102



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



рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ "enums.h" рдореЗрдВ рдХрдИ рдФрд░ рд╕рдорд╛рди рджреЛрд╖ рд╣реИрдВред рд▓рд╛рдЗрди рдирдВрдмрд░: 224, 267, 346ред



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



рдореИрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ C ++ / CLI рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓рд╛ рд▓реЗрдЦ рдЙрдмрд╛рдК рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╣реИред рдкрд╣рд▓рд╛ рдкреИрдирдХреЗрдХ рдЧрд╛рдВрдарджрд╛рд░ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреБрдЫ рдмрдбрд╝реЗ рдФрд░ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХреВрдВрдЧрд╛ред



рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреА рд╕реА ++ / рд╕реАрдПрд▓рдЖрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ред рд╣рдореЗрдВ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рдЯрд┐рдкреНрдкрдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред



рдпрд╣ рд▓реЗрдЦ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рд╣реИред



рдпрджрд┐ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЕрдВрдЧреНрд░реЗрдЬреА рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рдПрдВрдбреНрд░реА рдХрд╛рд░рдкреЛрд╡ред C ++ / CLI рдЕрдм PVS-Studio рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИ ред



рдХреНрдпрд╛ рдЖрдкрдиреЗ рд▓реЗрдЦ рдкрдврд╝рд╛ рд╣реИ рдФрд░ рдПрдХ рдкреНрд░рд╢реНрди рд╣реИ?
рдЕрдХреНрд╕рд░ рд╣рдорд╛рд░реЗ рд▓реЗрдЦреЛрдВ рд╕реЗ рд╡рд╣реА рдкреНрд░рд╢реНрди рдкреВрдЫреЗ рдЬрд╛рддреЗ рд╣реИрдВред рд╣рдордиреЗ рдпрд╣рд╛рдВ рдЙрдирдХреЗ рдЙрддреНрддрд░ рдПрдХрддреНрд░ рдХрд┐рдП рд╣реИрдВ: рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдФрд░ рдХреИрдкреНрдкрдХреИрдЯ, рд╕рдВрд╕реНрдХрд░рдг 2014 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦреЛрдВ рдХреЗ рдкрд╛рдардХреЛрдВ рдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм ред рдХреГрдкрдпрд╛ рд╕реВрдЪреА рджреЗрдЦреЗрдВред




All Articles