рд╡рд┐рдЬреБрдЕрд▓ C ++ 2012 рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓реАрдВ

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

рдкрд░рд┐рдЪрдп


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

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

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдордиреЗ Visual Studio рдХреЗ рд╕рд╛рде рд╢рд╛рдорд┐рд▓ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛рдИ рдереАред рд╕рдм рдХреБрдЫ рд╕рдВрдпреЛрдЧ рд╕реЗ рд╣реБрдЖред рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2012 рдореЗрдВ, рдирдП C ++ 11 рднрд╛рд╖рд╛ рдорд╛рдирдХ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рдХрд╛рд░рдг, рдХрдИ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдП рд╣реИрдВред рдХрд╛рд░реНрдп рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдерд╛ рдХрд┐ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред

рдЦреБрдж рдХреЗ рд▓рд┐рдП рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ, рд╣реИрдбрд░ рдореЗрдВред * рдлрд╛рдЗрд▓реЗрдВ рд╣рдордиреЗ рдХрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрд╛ред рд╣рдордиреЗ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2012 рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдЕрд░реНрдерд╛рддреН, рдРрд╕реЗ рдлрд╝реЛрд▓реНрдбрд░:

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

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

рдХреБрдЫ рд╕рдВрджрд┐рдЧреНрдз рд╕реНрдкреЙрдЯ рдорд┐рд▓реЗ


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

рдЕрдЬреАрдм рд╕рд╛ рдЪрдХреНрд░


рдпрд╣ рд╕рдВрджрд┐рдЧреНрдз рдХреЛрдб рдкрд╣рд▓реЗ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдзреНрдпрдпрди рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд┐рдпрд╛ред
template <class T> class ATL_NO_VTABLE CUtlProps : public CUtlPropsBase { .... HRESULT GetIndexOfPropertyInSet(....) { .... for(ULONG ul=0; ul<m_pUPropSet[*piCurSet].cUPropInfo; ul++) { if( dwPropertyId == pUPropInfo[ul].dwPropId ) *piCurPropId = ul; return S_OK; } return S_FALSE; } .... }; 

V612 рд▓реВрдк рдХреЗ рднреАрддрд░ рдмрд┐рдирд╛ рд╢рд░реНрдд 'рд╡рд╛рдкрд╕реА'ред atldb.h 4829

рд▓реВрдк рдХреЗ рд╢рд░реАрд░ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреНрд░реБрдЯрд┐ рдХреЛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ, рд╡рд╛рдВрдЫрд┐рдд рдорд╛рди рдорд┐рд▓рдиреЗ рдкрд░ 'рд░рд┐рдЯрд░реНрди' рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
 for(ULONG ul=0; ul<m_pUPropSet[*piCurSet].cUPropInfo; ul++) { if( dwPropertyId == pUPropInfo[ul].dwPropId ) { *piCurPropId = ul; return S_OK; } } 

рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж рдкреНрд░рдХреНрд╖реЗрдкрдг


рдореИрдВ рдХрдбрд╝реА рдореЗрд╣рдирдд рд╕реЗ рдкрдврд╝реА рдЧрдИ рдорд┐рд╕рд╛рд▓ рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдорд╛рдБрдЧрддрд╛ рд╣реВрдБред рдЯрд░реНрдирд░реА рдСрдкрд░реЗрдЯрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред
 // TEMPLATE FUNCTION proj _TMPLT(_Ty) inline _CMPLX(_Ty) proj(const _CMPLX(_Ty)& _Left) { // return complex projection return (_CMPLX(_Ty)( _CTR(_Ty)::_Isinf(real(_Left)) || _CTR(_Ty)::_Isinf(real(_Left)) ? _CTR(_Ty)::_Infv(real(_Left)) : real(_Left), imag(_Left) < 0 ? -(_Ty)0 : (_Ty)0)); } 

V501 рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ '_Ctraits <_Ty> :: _ Isinf (рд╡рд╛рд╕реНрддрд╡рд┐рдХ (_Left))' рдмрд╛рдИрдВ рдУрд░ рдФрд░ 'рджрд╛рдИрдВ рдУрд░' || рдСрдкрд░реЗрдЯрд░ред xcomplex 780

рд╣рд╛рд▓рдд рдореЗрдВ, "_CTR (_Ty) :: _ Isinf (рд╡рд╛рд╕реНрддрд╡рд┐рдХ (_Lft))" рдХреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рджреЛ рдмрд╛рд░ рджреЛрд╣рд░рд╛рдИ рдЬрд╛рддреА рд╣реИред рдпрд╣ рдХрд╣рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣рд╛рдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реИ рдФрд░ рдХреЛрдб рдХреЛ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред

рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЬрд╛рдВрдЪ


 template<typename BaseType, bool t_bMFCDLL = false> class CSimpleStringT { .... void Append(_In_reads_(nLength) PCXSTR pszSrc, _In_ int nLength) { .... UINT nOldLength = GetLength(); if (nOldLength < 0) { // protects from underflow nOldLength = 0; } .... }; 

V547 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'nOldLength <0' рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реЛрддреА рд╣реИред рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рди рдХрднреА рдирд╣реАрдВ рд╣реИ <0ред Atlsimpstr.h 420

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

рдЧрд▓рдд рд▓рд╛рдЗрди рдХрд╛ рдЧрдарди


 template <class T> class CHtmlEditCtrlBase { .... HRESULT SetDefaultComposeSettings( LPCSTR szFontName=NULL, .....) const { CString strBuffer; .... strBuffer.Format(_T("%d,%d,%d,%d,%s,%s,%s"), bBold ? 1 : 0, bItalic ? 1 : 0, bUnderline ? 1 : 0, nFontSize, szFontColor, szBgColor, szFontName); .... } }; 

V576 рдЧрд▓рдд рдкреНрд░рд╛рд░реВрдкред 'рдкреНрд░рд╛рд░реВрдк' рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЖрдард╡реЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрд░реНрдХ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред Wchar_t рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рддреАрдХреЛрдВ рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред afxhtml.h 826

рдпрд╣ рдХреЛрдб UNICODE рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рдПрдХ рдЧрд▓рдд рд╕рдВрджреЗрд╢ рджреЗрддрд╛ рд╣реИред 'рдлреЙрд░реНрдореЗрдЯ ()' рдлрдВрдХреНрд╢рди рдореЗрдВ рдПрд▓рдкреАрд╕реАрдЯреАрдПрд╕рдЖрд░ рдЯрд╛рдЗрдк рдХреЗ рдЖрдард╡реЗрдВ рддрд░реНрдХ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХреА рдЬрд╛рддреА рд╣реИред рд▓реЗрдХрд┐рди рдЪрд░ 'szFontName' рд╣рдореЗрд╢рд╛ LPCSTR рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реЛрддрд╛ рд╣реИред

рдирдХрд╛рд░рд╛рддреНрдордХ рдмрдВрджрд░рдЧрд╛рд╣


 typedef WORD ATL_URL_PORT; class CUrl { ATL_URL_PORT m_nPortNumber; .... inline BOOL Parse(_In_z_ LPCTSTR lpszUrl) { .... //get the port number m_nPortNumber = (ATL_URL_PORT) _ttoi(tmpBuf); if (m_nPortNumber < 0) goto error; .... }; 

V547 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'm_nPortNumber <0' рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реЛрддреА рд╣реИред рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рди рдХрднреА рдирд╣реАрдВ рд╣реИ <0ред Atlutil.h 2775

рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдХрд┐ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рд╢реВрдиреНрдп рд╕реЗ рдХрдо рд╣реИ, рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЪрд░ 'm_nPortNumber' рдореЗрдВ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░ 'рд╢рдмреНрдж' рд╣реИред 'WORD' рдкреНрд░рдХрд╛рд░ 'рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЫреЛрдЯрд╛' рд╣реИред

рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░


рдирд┐рдореНрди рдореИрдХреНрд░реЛ Visual C ++ рд╣реИрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╣реИред
 #define DXVABitMask(__n) (~((~0) << __n)) 

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

64-рдмрд┐рдЯ рдореЛрдб рдореЗрдВ рдЧрд▓рдд рд╕рдВрдЪрд╛рд▓рди


64-рдмрд┐рдЯ C / C ++ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рдареЛрдВ рдореЗрдВ рдЗрд╕ 64-рдмрд┐рдЯ рддреНрд░реБрдЯрд┐ рдкреИрдЯрд░реНрди рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЧрд▓рддреА рдХреНрдпрд╛ рд╣реИ, рд╣рдо рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЦреБрдж рдХреЛ рдкрд╛рда рд╕рдВрдЦреНрдпрд╛ 12 рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдПрдВ ред
 class CWnd : public CCmdTarget { .... virtual void WinHelp(DWORD_PTR dwData, UINT nCmd = HELP_CONTEXT); .... }; class CFrameWnd : public CWnd { .... }; class CFrameWndEx : public CFrameWnd { .... virtual void WinHelp(DWORD dwData, UINT nCmd = HELP_CONTEXT); .... }; 

V301 рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдУрд╡рд░рд▓реЛрдбрд┐рдВрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ред рд╡реНрдпреБрддреНрдкрдиреНрди рд╡рд░реНрдЧ 'CFrameWndEx' рдФрд░ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ 'CFrameWnd' рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди 'WinHelpW' рдХрд╛ рдкрд╣рд▓рд╛ рддрд░реНрдХ рджреЗрдЦреЗрдВред afxframewndex.h 154

'WinHelp' рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ 'CFrameWndEx' рд╡рд░реНрдЧ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкрд╣рд▓реЗ рддрд░реНрдХ рдХрд╛ рдкреНрд░рдХрд╛рд░ 'DWORD_PTR' рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреБрдЫ рдЕрдиреНрдп рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рдПрдХ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:

рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕реВрдЪрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ NULL рдХреА рддреБрд▓рдирд╛ рдореЗрдВ


рдРрд╕реЗ рд╕реНрдерд╛рди рдХрд╛рдлреА рдкрд╛рдП рдЧрдПред рдпрд╣ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛ рдЦрддрд░рдирд╛рдХ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдмрд╣реБрдд рдердХрд╛ рд╣реБрдЖ рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдмреЗрд╣рддрд░ рдХрд░реЗрдВрдЧреЗред рд╣рдо рдХреЗрд╡рд▓ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рджреЗрдВрдЧреЗред
 BOOL CDockablePane::PreTranslateMessage(MSG* pMsg) { .... CBaseTabbedPane* pParentBar = GetParentTabbedPane(); CPaneFrameWnd* pParentMiniFrame = pParentBar->GetParentMiniFrame(); if (pParentBar != NULL && (pParentBar->IsTracked() || pParentMiniFrame != NULL && pParentMiniFrame->IsCaptured() ) ) .... } 

V595 'pParentBar' рдкреЙрдЗрдВрдЯрд░ рдХреЛ nullptr рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЪреЗрдХ рд▓рд╛рдЗрди: 2840, 2841ред afxdockablepane.cpp 2840

рджреЗрдЦреЗрдВ, рд╢реБрд░реБрдЖрдд рдореЗрдВ, GetParentMiniFrame () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 'pParentBar' рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Zetas рдХреЛ рдЕрдЪрд╛рдирдХ рд╕рдВрджреЗрд╣ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреЙрдЗрдВрдЯрд░ NULL рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИред
 AFX_CS_STATUS CDockingManager::DeterminePaneAndStatus(....) { .... CDockablePane* pDockingBar = DYNAMIC_DOWNCAST(CDockablePane, *ppTargetBar); if (!pDockingBar->IsFloating() && (pDockingBar->GetCurrentAlignment() & dwEnabledAlignment) == 0) { return CS_NOTHING; } if (pDockingBar != NULL) { return pDockingBar->GetDockingStatus( pt, nSensitivity); } .... } 

V595 nullptr рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 'pDockingBar' рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЪреЗрдХ рд▓рд╛рдЗрдиреЗрдВ: 582, 587. afxdockingmanager.cpp 582

рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╕реВрдЪрдХ 'pDockingBar' рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдЕрдЪрд╛рдирдХ NULL рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдФрд░ рдПрдХ рдЕрдВрддрд┐рдо рдЙрджрд╛рд╣рд░рдг:
 void CFrameImpl::AddDefaultButtonsToCustomizePane(....) { .... for (POSITION posCurr = lstOrigButtons.GetHeadPosition(); posCurr != NULL; i++) { CMFCToolBarButton* pButtonCurr = (CMFCToolBarButton*)lstOrigButtons.GetNext(posCurr); UINT uiID = pButtonCurr->m_nID; if ((pButtonCurr == NULL) || (pButtonCurr->m_nStyle & TBBS_SEPARATOR) || (....) { continue; } .... } 

V595 nullptr рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 'pButtonCurr' рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЬрд╛рдБрдЪ рд▓рд╛рдЗрдиреЗрдВ: 1412, 1414ред afxframeimpl.cpp 1412

рд╡рд░реНрдЧ 'm_nID' рдХреЗ рд╕рджрд╕реНрдп рд╕реЗ рдмреЗрдЭрд┐рдЭрдХ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВред рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕реВрдЪрдХ 'pButtonCurr' 0 рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдирд╖реНрдЯ рд╡рд╕реНрддреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛


 CString m_strBrowseFolderTitle; void CMFCEditBrowseCtrl::OnBrowse() { .... LPCTSTR lpszTitle = m_strBrowseFolderTitle != _T("") ? m_strBrowseFolderTitle : (LPCTSTR)NULL; .... } 

V623 ':?' 'рд╕рдВрдЪрд╛рд▓рдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдмрд╛рдж рдореЗрдВ рдирд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рд╣реИред afxeditbrowsectrl.cpp 308

рдЯрд░реНрдирд░реА рдСрдкрд░реЗрдЯрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдЗрд╕рд▓рд┐рдП, CString рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рд╡рд╕реНрддреБ рдХреЛ "(LPCTSTR) NULL" рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдлрд┐рд░ рдЗрд╕рдХреЗ рдмрдлрд╝рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ рдХреЛ рдЗрд╕ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореБрд╕реАрдмрдд рдпрд╣ рд╣реИ рдХрд┐ CString рдЬреИрд╕реА рдЕрд╕реНрдерд╛рдпреА рд╡рд╕реНрддреБ рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧреАред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, 'lpszTitle' рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдорд╛рди рдЕрдорд╛рдиреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдпрд╣рд╛рдВ рдЖрдк рдЗрд╕ рддреНрд░реБрдЯрд┐ рдкреИрдЯрд░реНрди рдХрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рдордп рдХреЗ рд╕рд╛рде рдЧрд▓рдд рдХрд╛рдо


 UINT CMFCPopupMenuBar::m_uiPopupTimerDelay = (UINT) -1; .... void CMFCPopupMenuBar::OnChangeHot(int iHot) { .... SetTimer(AFX_TIMER_ID_MENUBAR_REMOVE, max(0, m_uiPopupTimerDelay - 1), NULL); .... } 

V547 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ '(0)> (m_uiPopupTimerDelay - 1)' рд╣рдореЗрд╢рд╛ рдЧрд▓рдд рд╣реИред рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рди рдХрднреА рдирд╣реАрдВ рд╣реИ <0ред Afxpopupmenubar.cpp 968

'-1' рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдзреНрд╡рдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред 'рдЕрдзрд┐рдХрддрдо' рдореИрдХреНрд░реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ m_uiPopupTimerDelay рд╡реИрд░рд┐рдПрдмрд▓ рдореЗрдВ рдирдХрд╛рд░рд╛рддреНрдордХ рдорд╛рдиреЛрдВ рд╕реЗ рдмрдЪрд╛рд╡ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЪрд░ рдХрд╛ рдПрдХ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░ рд╣реИред рдпрд╣ рд╣рдореЗрд╢рд╛ рд╢реВрдиреНрдп рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ рдмрд░рд╛рдмрд░ рд╣реЛрддрд╛ рд╣реИред рд╕рд╣реА рдХреЛрдб рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
 SetTimer(AFX_TIMER_ID_MENUBAR_REMOVE, m_uiPopupTimerDelay == (UINT)-1 ? 0 : m_uiPopupTimerDelay - 1, NULL); 

рдПрдХ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рдпрд╣рд╛рдБ рд╣реИ:

рдЕрд░реНрдерд╣реАрди рд░реЗрдЦрд╛


 BOOL CMFCTasksPaneTask::SetACCData(CWnd* pParent, CAccessibilityData& data) { .... data.m_nAccHit = 1; data.m_strAccDefAction = _T("Press"); data.m_rectAccLocation = m_rect; pParent->ClientToScreen(&data.m_rectAccLocation); data.m_ptAccHit; return TRUE; } 

V607 рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'data.m_ptAccHit'ред afxtaskspane.cpp 96

"Data.m_ptAccHit?" рдХреНрдпрд╛ рд╣реИ? рд╢рд╛рдпрдж рдпрд╣рд╛рдБ рд╡реЗ рдЗрд╕ рдЪрд░ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдореВрд▓реНрдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рднреВрд▓ рдЧрдП?

рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдПрдХ рдФрд░ 0 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?


 BOOL CMFCTasksPane::GetMRUFileName(....) { .... const int MAX_NAME_LEN = 512; TCHAR lpcszBuffer [MAX_NAME_LEN + 1]; memset(lpcszBuffer, 0, MAX_NAME_LEN * sizeof(TCHAR)); if (GetFileTitle((*pRecentFileList)[nIndex], lpcszBuffer, MAX_NAME_LEN) == 0) { strName = lpcszBuffer; return TRUE; } .... } 

V512 'рдореЗрдорд╕реЗрдЯ' рдлрд╝рдВрдХреНрд╢рди рдХреА рдПрдХ рдХреЙрд▓ рдмрдлрд░ 'lpcszBuffer' рдХреЛ рдХрдо рдХрд░реЗрдЧреАред afxtaskspane.cpp 2626

рдПрдХ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдб рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЯрд░реНрдорд┐рдирд▓ рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рд╕рд░рдгреА рдХрд╛ рдЕрдВрддрд┐рдо рддрддреНрд╡ рднреА рд░реАрд╕реЗрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
 memset(lpcszBuffer, 0, (MAX_NAME_LEN + 1) * sizeof(TCHAR)); 

рдЕрдЬреАрдм 'рдЕрдЧрд░'


 void CMFCVisualManagerOfficeXP::OnDrawBarGripper(....) { .... if (bHorz) { rectFill.DeflateRect(4, 0); } else { rectFill.DeflateRect(4, 0); } .... } 

V523 'рддрддреНрдХрд╛рд▓реАрди' рдХрдерди 'рдФрд░' рдХрдерди рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред afxvisualmanagerofficexp.cpp 264

рдЦрддрд░рдирд╛рдХ рд╡рд░реНрдЧ single_link_registry


рдпрджрд┐ рдЖрдк рд╡рд░реНрдЧ 'single_link_registry' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЖрдк рд╕рднреА рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓ рд▓реЗрдВред рдЖрдЗрдП рдХрдХреНрд╖рд╛ 'рд╡рд┐рдзрд╡рд╛ рдПрдХрд▓' рдХреЗ рд╡рд┐рдирд╛рд╢ рдХреЛ рджреЗрдЦреЗрдВ:
 virtual ~single_link_registry() { // It is an error to delete link registry with links // still present if (count() != 0) { throw invalid_operation( "Deleting link registry before removing all the links"); } } 

V509 рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдХреЗ рдЕрдВрджрд░ 'рдереНрд░реЛ' рдСрдкрд░реЗрдЯрд░ рдХреЛ try..catch рдмреНрд▓реЙрдХ рдХреЗ рднреАрддрд░ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдХреЗ рдЕрдВрджрд░ рдЕрдкрд╡рд╛рдж рдЙрдард╛рдирд╛ рдЕрд╡реИрдз рд╣реИред Agent.h 759

рдпрд╣ рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдЕрдкрд╡рд╛рдж рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╡рд┐рдирд╛рд╢рдХреЛрдВ рдХреЛ рдмреБрд▓рд╛рдХрд░ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рд╡рд┐рдирд╛рд╢ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ 'single_link_registry' рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рдПрдХ рдФрд░ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, C ++ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рддреБрд░рдВрдд рдЯрд░реНрдорд┐рдиреЗрдЯ () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХреНрд░реИрд╢ рдХрд░ рджреЗрддреА рд╣реИред

рд╕рдорд╛рди рдЦрд╝рд░рд╛рдм рд╡рд┐рдзреНрд╡рдВрд╕рдХ:

рдПрдХ рдФрд░ рдЕрдЬреАрдм рд▓реВрдк


 void CPreviewView::OnPreviewClose() { .... while (m_pToolBar && m_pToolBar->m_pInPlaceOwner) { COleIPFrameWnd *pInPlaceFrame = DYNAMIC_DOWNCAST(COleIPFrameWnd, pParent); if (!pInPlaceFrame) break; CDocument *pViewDoc = GetDocument(); if (!pViewDoc) break; // in place items must have a server document. COleServerDoc *pDoc = DYNAMIC_DOWNCAST(COleServerDoc, pViewDoc); if (!pDoc) break; // destroy our toolbar m_pToolBar->DestroyWindow(); m_pToolBar = NULL; pInPlaceFrame->SetPreviewMode(FALSE); // restore toolbars pDoc->OnDocWindowActivate(TRUE); break; } .... } 

V612 рд▓реВрдк рдХреЗ рднреАрддрд░ рдмрд┐рдирд╛ рд╢рд░реНрдд 'рдмреНрд░реЗрдХ'ред viewprev.cpp 476

рд▓реВрдк рдореЗрдВ рдХреЛрдИ 'рдЬрд╛рд░реА' рдмрдпрд╛рди рдирд╣реАрдВ рд╣реИрдВред рд▓реВрдк рдХреЗ рдЕрдВрдд рдореЗрдВ 'рдмреНрд░реЗрдХ' рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЕрдЬреАрдм рд╣реИред рдПрдХ рдЪрдХреНрд░ рд╣рдореЗрд╢рд╛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЪрд▓рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдпрд╛ рддреЛ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реИ рдпрд╛ 'рдЬрдмрдХрд┐' рдХреЛ 'рдпрджрд┐' рдХреЗ рд╕рд╛рде рдмрджрд▓рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

рдЕрдЬреАрдм рдмрд╛рдд рд╣реИ


рдХреЛрдб рдкрд░ рдЕрдиреНрдп рдЫреЛрдЯреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╣реИрдВ рдЬреЛ рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИрдВред рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдП рдХрд┐ рджрд╛рдВрд╡ рдкрд░ рдХреНрдпрд╛ рд╣реИред

Afxdrawmanager.cpp рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдкрд╛рдИ рдирдВрдмрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд┐рд░рд╛рдВрдХ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
 const double AFX_PI = 3.1415926; 

V624 рдирд┐рд░рдВрддрд░ 3.1415926 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдореА рдореВрд▓реНрдп рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред <Math.h> рд╕реЗ M_PI рдирд┐рд░рдВрддрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред afxdrawmanager.cpp 22

рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЛрдИ рдЧрд▓рддреА рдирд╣реАрдВ рд╣реИ рдФрд░ рдирд┐рд░рдВрддрд░рддрд╛ рдХреА рд╕рдЯреАрдХрддрд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ M_PI рд╕реНрдерд┐рд░рд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рди рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЬреЛ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
 #define M_PI 3.14159265358979323846 

рд╡рд┐рдЬреБрдЕрд▓ C ++ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛


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

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

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


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

рд╣рдореЗрдВ рджреГрд╢реНрдп C ++ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓реАрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд╣рд╛рдВ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╣реИред рд╣рдореЗрдВ рдХреНрд▓реИрдЧ рдХрдВрдкрд╛рдЗрд▓рд░ рдореЗрдВ рдХреАрдбрд╝реЗ рдорд┐рд▓реЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╣реИред рд╣рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рд╣рдо рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкрд╛рдПрдВрдЧреЗред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2005, 2008, 2010, 2012 рдореЗрдВ рдПрдХ рдорд╣рд╛рди рдкреНрд░рд╢рд┐рдХреНрд╖реБ рд╣реИ рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред

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


All Articles