рд╕рдВрдХрд▓рдХ рдФрд░ рдЪрдпрдирд┐рдд рдЙрдкрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдЕрдВрддрд░

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



рдЗрд╕ рдмрд╛рд░, рдиреЛрдЯрдкреИрдб ++ рд╕рдВрд╕реНрдХрд░рдг 5.8.2 рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рд╖рдп рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░реЗрдЧрд╛ред





рдиреЛрдЯрдкреИрдб ++



рдкрд╣рд▓реЗ рдЪрдпрдирд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдиреЛрдЯрдкреИрдб ++ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдФрд░ рдореБрдлреНрдд рд╕реНрд░реЛрдд рдХреЛрдб рд╕рдВрдкрд╛рджрдХ рд╣реИ рдЬреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдорд╛рдирдХ рдиреЛрдЯрдкреИрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рднреА рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рдЬреАрдкреАрдПрд▓ рдХреЗ рддрд╣рдд рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЭреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд╕рдВрдж рдЖрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ C ++ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ рдЫреЛрдЯрд╛ рд╣реИ - рдХреЛрдб рдХреА 73,000 рд▓рд╛рдЗрдиреЗрдВред рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдпрд╣ рдПрдХ рдХрд╛рдлреА рд╕рдЯреАрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ / W4 рд╕реНрд╡рд┐рдЪ рдФрд░ / WX рд╕реНрд╡рд┐рдЪ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред



рд╕рдВрдХрд▓рдХ рдореЗрдВ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг



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



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



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



рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдореЗрдВ рдЗрдВрдЯреЗрд▓ C ++ рд╕реЗ рдХрд┐рд╕ рддрд░рд╣ рдХреЗ рд╕рдВрджреЗрд╢ рдорд┐рд▓реЗред рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЛрдВрдиреЗ рдЪрд╛рд░реБрдкрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреА рдЪрд╛рд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкрд╛рдИрдВ (рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдиреЛрдЯ рджреЗрдЦреЗрдВ)ред рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рдирд┐рджрд╛рди рдХреЗ "рдЗрд▓рд╛рдХреЗ" рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ - рдмрд╕ рдПрдХ рдЕрддреНрдпрдВрдд рдЦрддрд░рдирд╛рдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд░реВрдкрд╛рдВрддрд░рдг рдкрд╛рдпрд╛ рдЧрдпрд╛ред рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдЯреБрдХрдбрд╝реЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:



  wchar_t * destStr = new wchar_t [len + 1];
 ...
 for (int j = 0; j <nbChar; j ++)
 {
   рдЕрдЧрд░ (рдХреЗрд╕ == рдЙрддреНрддрд░ рдкреНрд░рджреЗрд╢)
     destStr [j] =
       (wchar_t) :: CharUpperW ((LPWSTR) destStr [j]);
   рдЕрдиреНрдпрдерд╛
     destStr [j] =
       (wchar_t) :: CharLowerW ((LPWSTR) destStr [j]);
 } 


рдЕрдЬреАрдм рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рд╣реИрдВред рдЗрдВрдЯреЗрд▓ C ++ рдХрдВрдкрд╛рдЗрд▓рд░ рд░рд┐рдкреЛрд░реНрдЯ: "# 810:" LPWSTR = {WCHAR = {__ wchar_t} *} "рд╕реЗ" __wchar_t "рд░реВрдкрд╛рдВрддрд░рдг рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯреНрд╕ рдЦреЛ рд╕рдХрддрд╛ рд╣реИред рдЪрд▓реЛ рдЪрд╛рд░реНрдпреВрдкрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЛ рджреЗрдЦреЗрдВред



  LPTSTR WINAPI рдЪрд╛рд░реНрдпреВрдкрд░ (
   __in LPTSTR lpsz
 ); 


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



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



рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ # 1125 рд╕рдВрджреЗрд╢ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП:



"# 1125: рдлрд╝рдВрдХреНрд╢рди" рд╡рд┐рдВрдбреЛ :: init (HINSTANCE, HWND) "" TabBarPlus :: init "рджреНрд╡рд╛рд░рд╛ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ - рдЖрднрд╛рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХреНрдпрд╛ рд╣реИ?"



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



рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдгред рд╕рдВрджреЗрд╢ "# 186: рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреВрд░реНрдгрд╛рдВрдХ рдХреА рдирд┐рд░рд░реНрдердХ рддреБрд▓рдирд╛" рдирд┐рд░рд░реНрдердХ рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:



  рд╕реНрдерд┐рд░ LRESULT рдХреЙрд▓рдмреИрдХ рд╣реБрдХрдкреНрд░реЗрдорд╣рд╛рдЙрд╕ (
   UINT nCode, WPARAM wParam, LPARAM lParam)
 {
   рдЕрдЧрд░ (nCode <0)
   {
     ...
     рд╡рд╛рдкрд╕реА 0;
   }
 ...
 } 


"NCode <0" рдХреА рд╕реНрдерд┐рддрд┐ рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реЛрддреА рд╣реИред рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕реНрдерд╛рдиреАрдп рдирд┐рджрд╛рди рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдгред рдЗрд╕рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдХрд╛рдлреА рд╕рдВрднрд╡ рд╣реИред



рдирд╡реАрдирддрдо рдЗрдВрдЯреЗрд▓ C ++ рдЪреЗрддрд╛рд╡рдиреА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рдЗрд▓рд╛рдХреЗ" рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реИред



  рд╢реВрдиреНрдп ScintillaKeyMap :: showCurrentSettings () {
   int i = :: SendDlgItemMessage (...);
   ...
   for (size_t i = 0; рдореИрдВ <nrKeys; i ++)
   {
     ...
   }
 } 


рдпрд╣рд╛рдБ рдлрд┐рд░ рд╕реЗ, рдХреЛрдИ рдЧрд▓рддреА рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдмрд╣реБрдд рд╕рдлрд▓ рдЪрд░ рдирд╛рдордХрд░рдг рдирд╣реАрдВ рд╣реИред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдЪрд░ "i" рдкреНрд░рдХрд╛рд░ "int" рдХрд╛ рд╣реИред рдлрд┐рд░, рдПрдХ рдирдпрд╛ рд╡реИрд░рд┐рдПрдмрд▓ "i" рдЯрд╛рдЗрдк "size_t" рдХреЛ "for ()" рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред "Size_t i" рдХреА рдШреЛрд╖рдгрд╛ рдХреЗ рд╕рдордп рд╕рдВрдХрд▓рдХ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЪрд░ рд╣реИ рдФрд░ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИред рдлрд┐рд░, рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдХрд┐рд╕реА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред рдЙрд╕реЗ рдЕрднреА рднреА рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╢рд░реАрд░ рдХреЗ рдЕрдВрдд рддрдХ, рдЪрд░ "int i" рдЙрдкрд▓рдмреНрдз рд╣реИред



рдмрд╛рд╣рд░реА рд╕реНрдЯреЗрдЯрд┐рдХ рдХреЛрдб рдПрдирд╛рд▓рд╛рдЗрдЬрд░



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



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



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



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



  рдмреВрд▓ _isPointXValid;
 рдмреВрд▓ _isPointYValid;
 рдмреВрд▓ .PointValid () {
   рд╡рд╛рдкрд╕реА _isPointXValid && _isPointXValid;
 }; 


PVS-Studio рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ: "V501: рдмрд╛рдИрдВ рдФрд░ 'рджрд╛рдИрдВ рдУрд░' рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ: _isPointXValid && _isPointXValidред"



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



_ContMap рд╕рд░рдгреА рдХреЗ рдЕрдкреВрд░реНрдг рд╕рдорд╛рд╢реЛрдзрди рдХреА рдУрд░ рдЕрдЧреНрд░рд╕рд░ рдПрдХ рдФрд░ рд╕реНрдерд╛рдиреАрдп рддреНрд░реБрдЯрд┐:



  #define CONT_MAP_MAX 50
 int _iContMap [CONT_MAP_MAX];
 ...
 DockingManager :: DockingManager ()
 {
   ...
   рдореЗрдорд╕реЗрдЯ (_ContMap, -1, CONT_MAP_MAX);
   ...
 } 


рдЪреЗрддрд╛рд╡рдиреА "V512: рдореЗрдорд╕реЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХреЙрд▓ рд╕реЗ рдмрдлрд░ рдУрд╡рд░рдлрд╝реНрд▓реЛ рдпрд╛ рдЕрдВрдбрд░рдлрд╝реНрд▓реЛ рд╣реЛ рдЬрд╛рдПрдЧрд╛" рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреЛрдб рдХрд╛ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг:



  рдореЗрдорд╕реЗрдЯ (_iContMap, -1, CONT_MAP_MAX * sizeof (int)); 




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



  рд╢реВрдиреНрдп TabBarPlus :: drawItem (
   DRAWITEMSTRUCT * pDrawItemStruct)
 {
 ...

   рдЕрдЧрд░ (_isVertical)
     рдЭрдВрдбреЗ | = DT_BOTTOM;
   рдЕрдиреНрдпрдерд╛
     рдЭрдВрдбреЗ | = DT_BOTTOM;
 ...
 } 


PVS-Studio рдпрд╣рд╛рдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ: "V523: 'рддрддреНрдХрд╛рд▓реАрди' рдХрдерди 'рдЕрдиреНрдп' рдХрдерди рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред" рдпрджрд┐ рдЖрдк рдкрдбрд╝реЛрд╕ рдореЗрдВ рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реЗрдЦрдХ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛:



  рдЕрдЧрд░ (_isVertical)
   рдЭрдВрдбреЗ | = DT_VCENTER;
 рдЕрдиреНрдпрдерд╛
   рдЭрдВрдбреЗ | = DT_BOTTOM;


рдЕрдм рд╣рд┐рдореНрдордд рд░рдЦреЛред рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:



  рд╢реВрдиреНрдп KeyScriptStyleDialog :: updateDlg () 
 {
   ...
   рд╢реИрд▓реА рдФрд░ w1Style =
     _pUserLang -> _ styleArray.getStyler (STYLE_WORD1_INDEX);
   styleUpdate (w1Style, _pFgColour [0], _pBgColour [0],
     IDC_KEYWORD1_FONT_COMBO, IDC_KEYWORD1_FONTSIZE.COMBO,
     IDC_KEYWORD1_BOLD_CHECK, IDC_KEYWORD1_ITALIC_CHECK,
     IDC_KEYWORD1_UNDERLINE_CHECK);

   рд╢реИрд▓реА рдФрд░ w2Style =
     _pUserLang -> _ styleArray.getStyler (STYLE_WORD2_INDEX);
   styleUpdate (w2Style, _pFgColour [1], _pBgColour [1],)
     IDC_KEYWORD2_FONT_COMBO, IDC_KEYWORD2_FONTSIZE.COMBO,
     IDC_KEYWORD2_BOLD_CHECK, IDC_KEYWORD2_ITALIC_CHECK,
     IDC_KEYWORD2_UNDERLINE_CHECK);

   рд╢реИрд▓реА рдФрд░ w3Style =
     _pUserLang -> _ styleArray.getStyler (STYLE_WORD3_INDEX);
   styleUpdate (w3Style, _pFgColour [2], _pBgColour [2],
     IDC_KEYWORD3_FONT_COMBO, IDC_KEYWORD3_FONTSIZE.COMBO,
     IDC_KEYWORD3_BOLD_CHECK, IDC_KEYWORD3_BOLD_CHECK,
     IDC_KEYWORD3_UNDERLINE_CHECK);

   рд╢реИрд▓реА рдФрд░ w4Style =
     _pUserLang -> _ styleArray.getStyler (STYLE_WORD4_INDEX);
   styleUpdate (w4Style, _pFgColour [3], _pBgColour [3],
     IDC_KEYWORD4_FONT_COMBO, IDC_KEYWORD4_FONTSIZE.COMBO,
     IDC_KEYWORD4_BOLD_CHECK, IDC_KEYWORD4_ITALIC_CHECK,
     IDC_KEYWORD4_UNDERLINE_CHECK);
   ...
 } 


рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореБрдЭреЗ рдЕрдкрдиреЗ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдкрд░ рдЧрд░реНрд╡ рд╣реИ, рдЬреЛ рдпрд╣рд╛рдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдкрд╛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдиреЛрдЯрд┐рд╕ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рдЗрдВрддрдЬрд╛рд░ рдореЗрдВ, рдкреВрд░реЗ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХреЛрдб рд╡рд╕реНрддреБрддрдГ рд╕рдореАрдХреНрд╖рд╛ (рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛) рдХреЗ рд▓рд┐рдП рдЕрд╕рдВрднрд╡ рд╣реИред рд▓реЗрдХрд┐рди рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд░реЛрдЧреА рдФрд░ рдкрд╛рдВрдбрд┐рддреНрдп рд╣реИ: "V525: рд╕рдорд╛рди рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рд╡рд╛рд▓реЗ рдХреЛрдбред рдЖрдЗрдЯрдо '7', '7', '6', '7' рдХреЛ рд▓рд╛рдЗрдиреЛрдВ 576, 580, 584, 588 рдореЗрдВ рдЬрд╛рдВрдЪреЗрдВред



рдореИрдВ рджрд┐рд▓рдЪрд╕реНрдк рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рда рдХреЛ рдЫреЛрдЯрд╛ рдХрд░реВрдВрдЧрд╛:



  рд╕реНрдЯрд╛рдЗрд▓рдЕрдкрдбреЗрдЯ (...
   IDC_KEYWORD1_BOLD_CHECK, IDC_KEYWORD1_ITALIC_CHECK,
   ...);
 рд╕реНрдЯрд╛рдЗрд▓рдЕрдкрдбреЗрдЯ (...
   IDC_KEYWORD2_BOLD_CHECK, IDC_KEYWORD2_ITALIC_CHECK,
   ...);
 рд╕реНрдЯрд╛рдЗрд▓рдЕрдкрдбреЗрдЯ (...
   IDC_KEYWORD3_BOLD_CHECK, !!  IDC_KEYWORD3_BOLD_CHECK !!
   ...);
 рд╕реНрдЯрд╛рдЗрд▓рдЕрдкрдбреЗрдЯ (...
   IDC_KEYWORD4_BOLD_CHECK, IDC_KEYWORD4_ITALIC_CHECK, 


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



  #define IDC_KEYWORD1_ITALIC_CHECK (IDC_KEYWORD1 + 7)
 #define IDC_KEYWORD3_BOLD_CHECK (IDC_KEYWORD3 + 6) 


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



рдХреБрдЫ рд╕рдВрдЦреНрдпрд╛



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



рдиреЛрдЯрдкреИрдб ++ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╕рдордп, рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреВрд▓ рдиреЗ рдХреЗрд╡рд▓ 10 рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХреАред рдЗрдирдореЗрдВ рд╕реЗ 4 рд╕рдВрджреЗрд╢реЛрдВ рдиреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ред рдкрд░рд┐рдгрд╛рдо рдорд╛рдореВрд▓реА рд╣реИ, рд▓реЗрдХрд┐рди рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдиреЗ рдЕрднреА рдЕрдкрдирд╛ рд╡рд┐рдХрд╛рд╕ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИред рд╕рдордп рдХреЗ рд╕рд╛рде, рд╡рд╣ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдореЗрдВ рд╕реЗ рдПрдХ рдмрди рдЬрд╛рдПрдЧрд╛ред



рдиреЛрдЯрдкреИрдб ++ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╕рдордп, рдЗрдВрдЯреЗрд▓ рд╕реА ++ рдХрдВрдкрд╛рдЗрд▓рд░ рдиреЗ 439 рдЪреЗрддрд╛рд╡рдиреА рдФрд░ 3,139 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдЙрддреНрдкрдиреНрди рдХреАрдВред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рддрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЧрд▓рддрд┐рдпреЛрдВ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реИрдВред рдЬрд┐рд╕ рдЪреАрдЬ рдореЗрдВ рдореБрдЭреЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рддрд╛рдХрдд рдереА, рдореИрдВрдиреЗ рдЪрд╛рд░реБрдкрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреЗрд╡рд▓ 4 рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрд╛ (рдКрдкрд░ рд╡рд┐рд╡рд░рдг рджреЗрдЦреЗрдВ)ред



рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреА рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 3578 рд╕рдВрджреЗрд╢ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИрдВред рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдХрд▓рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдмреАрд╕рд╡реАрдВ рдкрдВрдХреНрддрд┐ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ (73000/3578 = 20)ред рдпрд╣ рдЧрдВрднреАрд░ рдирд╣реАрдВ рд╣реИред рдПрдХ рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ, рд╕рднреА рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреЛ рдХрд╛рдЯ рджреЗрдВред



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



- рдЕрджреНрдпрддрди:



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



рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ CharUpperW рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд╛рддреНрд░реЛрдВ рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдКрдкрд░реА рд╣рд┐рд╕реНрд╕рд╛ рд╢реВрдиреНрдп рд╣реИ, рддреЛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреЙрдЗрдВрдЯрд░ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рдкреНрд░рддреАрдХ рд╣реИред рдЗрд╕ рдкрд╛рдареНрдпрдХреНрд░рдо рд╕реНрдерд╛рди рдореЗрдВ рдЬреАрдд рдПрдкреАрдЖрдИ рдЗрд╕рдХреА рд╡рдХреНрд░рддрд╛ рд╕реЗ рджреБрдЦреА рдерд╛, рд▓реЗрдХрд┐рди рдиреЛрдЯрдкреИрдб ++ рдореЗрдВ рдХреЛрдб рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред



рд╡реИрд╕реЗ, рдЕрдм рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ Intel C ++ рдХреЛ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓реАред



All Articles