рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ

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



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



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





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



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



рдирд┐рджрд╛рди реж



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



  #line 27 "C: \\ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлрд╛рдЗрд▓реНрд╕ (x86) \\ Microsoft рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 8 \\ VC \\ atlmfc \\ рд╢рд╛рдорд┐рд▓ \\ afx.h"
 # рдкрдВрдХреНрддрд┐ 1008 "ред \\ mytestfile.cpp" 




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



рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рд╣рдордиреЗ рдЕрднреА рддрдХ рдорд╛рдорд▓реЗ рдХреЗ рд╕рд╛рд░ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред



рдирд┐рджрд╛рди 1



V501ред рдмрд╛рдИрдВ рдУрд░ рдФрд░ 'рдлреВ' рдСрдкрд░реЗрдЯрд░ рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВред



рд▓реЗрдЦ рдХреЗ рдкрд╛рда рдХреЛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдкрд╛рдардХ рдХреЛ рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рдиреЗ рдФрд░ рддреНрд░реБрдЯрд┐ рдФрд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВред рдирд┐рджрд╛рди рдХрд╛ рд╕рд╛рд░ рд░реВрдк рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рд╣реИ:



  рдЕрдЧрд░ (X> 0 && X> 0) 


рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдЬрдм рдПрдХ рд╣реА рднрд╛рд╡ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХреЗ рдмрд╛рдИрдВ рдФрд░ рджрд╛рдИрдВ рдУрд░ рд╕реНрдерд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдЦреЛрдЬрдирд╛ рдХрд╛рдлреА рд╕рдВрднрд╡ рд╣реИ &&, ||, ==, рдФрд░ рдЗрд╕реА рддрд░рд╣ || рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗред рд╣рдо рдСрдкрд░реЗрдЯрд░ && рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рдмрд╛рдИрдВ рдФрд░ рджрд╛рдпреАрдВ рдУрд░ && рдореЗрдВ рдХреЛрд╖реНрдардХ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рдХреБрдЫ рд╕рдорд╛рди рд╣реИ, рддреЛ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:



  рдпрджрд┐ (A == A && B) 


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



  рдЕрдЧрд░ (A == 0 && A == 0) 


рдФрд░ рдЗрд╕рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╣рд╛рдВ, рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдХреЛрдИ рднреА рдмреНрд░реИрдХреЗрдЯ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдРрд╕реЗ рдорд╛рдорд▓реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:



  рдпрджрд┐ ('(' == A && '(' == B)
 b = X> 0 && X> 0; 


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



рдЕрдм рдЙрд╕ рд▓рд╛рд▓рд┐рддреНрдп рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░реЗрдВ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдореИрдВ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдПрдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╡реГрдХреНрд╖ред рдЕрдЧрд░ рдореБрдЭреЗ рдСрдкрд░реЗрдЯрд░ &&, ==, || рдФрд░ рдЗрд╕реА рддрд░рд╣, рдореБрдЭреЗ рдмрд╕ рдкреЗрдбрд╝ рдХреА рдмрд╛рдИрдВ рдФрд░ рджрд╛рдИрдВ рд╢рд╛рдЦрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреА рд╣реИред рдореИрдВ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░рддрд╛ рд╣реВрдВ:



  рдЕрдЧрд░ (рд╕рдорд╛рди (рдмрд╛рдПрдВ, рджрд╛рдПрдВ))
 {
   // рдореБрд╕реАрдмрдд!
 } 


рдФрд░ рд╡рд╣ рдпрд╣ рд╣реИред рдкрд░рд┐рдЪрд╛рд▓рди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ рдПрдХ рдкрдХрдбрд╝рдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкрд╛рда рдореЗрдВ рдПрдХ рдмреНрд░реИрдХреЗрдЯ рд╣реЛрдЧрд╛: b = '(' == x && x == ')'ред рдЖрдк рдмрд╕ рдкреЗрдбрд╝ рдХреА рдмрд╛рдИрдВ рдФрд░ рджрд╛рдИрдВ рд╢рд╛рдЦрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рдирд┐рджрд╛рди реи



V502ред рд╢рд╛рдпрдж '?:' рдСрдкрд░реЗрдЯрд░ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред '?:' рд╕рдВрдЪрд╛рд▓рдХ рдХреА 'рдлреВ' рд╕рдВрдЪрд╛рд▓рдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИред



рдирд┐рдпрдо рд╕рдВрдЪрд╛рд▓рди рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреНрд░рдо рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ (рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рд╡рд┐рд╡рд░рдг рджреЗрдЦреЗрдВ)ред рд╣рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:



  int a;
 рдмреВрд▓ b;
 int c = a + b?  0: 1; 


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



рдкреНрд░рддреНрдпреЗрдХ рдЪрд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдирд╛ (рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛) рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЖрдкрдХреЛ рдЯрд╛рдЗрдкрдбреЗрдл рдХреЗ рдЬрдВрдЧрд▓ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╡реЗрдХреНрдЯрд░ <int> :: size_type рдХреНрдпрд╛ рд╣реИред рдЖрдкрдХреЛ рдирд╛рдо рд╕реНрдерд╛рди std рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕реНрдХреЛрдк рдФрд░ рднрд┐рдиреНрди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ; рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХреНрд╕ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рд╕реЗ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ: "рдСрдЯреЛ рдПрдХреНрд╕ = 1 + 2;" рд╕реА ++ 0x рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВред



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



рдирд┐рдЪрд▓рд╛ рд░реЗрдЦрд╛: C / C ++ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛, рд╣рдо рдЪрд░ рдФрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред рдпрд╛рдж рд░рдЦреЗрдВ рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реАрдорд╛ рд╣реИред



рдирд┐рджрд╛рди 3



V503ред рдпрд╣ рдПрдХ рдирд┐рд░рд░реНрдердХ рддреБрд▓рдирд╛ рд╣реИ: рд╕реВрдЪрдХ <0ред



рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдирд┐рдпрдоред рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж рд░реВрдк рд╕реЗ рдПрдХ рд╕реВрдЪрдХ рдХреА рддреБрд▓рдирд╛ <,> рд╢реВрдиреНрдп рд╕реЗ рдХрд░реЗрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг:



  CMeshBase * pMeshBase = getCutMesh (Idx);
 рдЕрдЧрд░ (pMeshBase <0)
   рд╡рд╛рдкрд╕реА NULL; 


рддреНрд░реБрдЯрд┐ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдРрд╕рд╛ рдХреЛрдб рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╕ рдЪрд░ pMeshBase рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдпрд╣ рдЕрд╕рдВрднрд╡ рдХреНрдпреЛрдВ рдерд╛, рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ред



рдпрд╣ рдирд┐рджрд╛рди рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред



рдирд┐рджрд╛рди рек



V504ред рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо ';' 'рд╡рд╛рдкрд╕реА' рдХреАрд╡рд░реНрдб рдХреЗ рдмрд╛рдж рдЧрд╛рдпрдм рд╣реИред



  рд╢реВрдиреНрдп Foo2 (int * ptr)
 {
   рдЕрдЧрд░ (ptr == NULL)
     рд╡рд╛рдкрд╕реА
   рдлреВ ();
   ...
 } 


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



  int foo ()
 {
    ...
   char c [] = 
   "рд╢реВрдиреНрдп myFoo (рдЗрдВрдЯ x) {"
   ;
   ...
 } 


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



  SimpleType funcReturnType;
 EFunctionReturnType fType;
 if (env-> LookupFunctionReturnType (fType, funcReturnType))
   рд╡рд╛рдкрд╕реА;
 рдЕрдЧрд░ (funcReturnType! = ST_VOID)
   рд╡рд╛рдкрд╕реА; 




рдирд┐рджрд╛рди 5



V505ред рд▓реВрдк рдХреЗ рдЕрдВрджрд░ 'рдПрд▓реЛрдХрд╛' рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЬрд▓реНрджреА рд╕реЗ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдвреЗрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред



рд╣рд╛рдВ, рдЖрдк рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрд╕ рдирд┐рдпрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреА рд╣рд┐рдореНрдордд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдЪрдХреНрд░ рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХрд╣рд╛рдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдЖрдк рдмрд╣реБрдд рд╕рд╛рд░реА рдордЬреЗрджрд╛рд░ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдФрд░ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕рд┐рдЬрд╝ред



  {
   for (int i = 0; рдореИрдВ <10; i ++)
   {
     // рд╢рд╛рдВрдд рдЯрд┐рдкреНрдкрдгреАред  рдпрд╣рд╛рдБ рдЖрдк {- рдЕрдм рдкреАрдбрд╝рд┐рдд рд╣реИрдВред  :)
     char * x = "рдпрд╣рд╛рдВ рднреА, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХрд╛рди рдХреЛ рддреЗрдЬ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: - {";
   }
   p = _alloca (10);  // рдХреНрдпрд╛ рд╣рдо рдкрд╛рд╢ рдХреЗ рдЕрдВрджрд░ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ?
 } 




рдирд┐рджрд╛рди рем



V506ред рд╕реНрдерд╛рдиреАрдп рдЪрд░ 'X' рдХреА рдУрд░ рд╕рдВрдХреЗрдд рдЗрд╕ рдЪрд░ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рдРрд╕рд╛ рдкреЙрдЗрдВрдЯрд░ рдЕрдорд╛рдиреНрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ред



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



рдпрд╣ рдирд┐рджрд╛рди рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред



рдирд┐рджрд╛рди 7



V507ред рдкреЙрдЗрдВрдЯрд░ рд╕реЗ рд▓реЗрдХрд░ рд▓реЛрдХрд▓ рдПрд░реЗ 'X' рддрдХ рдЗрд╕ рдПрд░реЗ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╕реНрдЯреЛрд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдкреЙрдЗрдВрдЯрд░ рдЕрдорд╛рдиреНрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ред



рдпрд╣ рдирд┐рджрд╛рди рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред



рдирд┐рджрд╛рди 8



V508ред 'рдирдП рдкреНрд░рдХрд╛рд░ (n)' рдкреИрдЯрд░реНрди рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ рдерд╛ред рд╢рд╛рдпрдж рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ: 'рдирдпрд╛ рдкреНрд░рдХрд╛рд░ [рдПрди]'ред



рдЯрд╛рдЗрдкреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬреИрд╕реЗ:



  рдлреНрд▓реЛрдЯ * рдкреА = рдирдпрд╛ рдлреНрд▓реЛрдЯ (10); 


рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ рдФрд░ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБ рдмрдирд╛рдИ рдЬрд╛ рд░рд╣реА рд╣реИред рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдмрд╕ рдкрд╛рда рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓реЗрдВ рдФрд░ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдмреЗрдХрд╛рд░ рд╣реИ:



  рдЯрд╛рдЗрдкрд░рд╛рдЗрдл рдлреНрд▓реЛрдЯ MyReal;
 ...
 MyReal * p = new MyReal (10); 


рдпрд╣ рдирд┐рджрд╛рди рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред



рдирд┐рджрд╛рди 9



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



рд╣рд╛рдВ, рдЖрдк рдЗрд╕реЗ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдкрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдЖрдорддреМрд░ рдкрд░ рдЫреЛрдЯреЗ рдХрд╛рд░реНрдп рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЪрд╛рд▓ рдирд╣реАрдВ рд╣реЛрдЧреАред



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



рд▓реЗрдХрд┐рди рдореИрдВ рдирд╣реАрдВ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рдореИрдВрдиреЗ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ (рдкреВрд░реЗ рдирд┐рдпрдо) рдореЗрдВ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдврдВрдЧ рд╕реЗ рд▓рд┐рдЦрд╛ рд╣реИ:



  рд╢реВрдиреНрдп ApplyRuleG_509 (VivaWalker рдФрд░ рд╡рд╛рдХрд░, рдкрд░реНрдпрд╛рд╡рд░рдг * env,
   const Ptree * srcPtree)
 {
   рд╕рд┐рдВрдкрд▓ рдЯрд╛рдЗрдк рд░рд┐рдЯрд░реНрди;
   EFunctionReturnType fType;
   рдмреВрд▓ рд░реЗрд╕ = env-> рд▓реБрдХрдЕрдкрдлреИрдХреНрд╢рди рд░реАрдЯрд░реНрди рдЯрд╛рдЗрдк (fType, returnType);
   рдЕрдЧрд░ (res == false || returnType! = ST_UNKNOWN)
     рд╡рд╛рдкрд╕реА;
   рдЕрдЧрд░ (fType! = DESTRUCTOR)
     рд╡рд╛рдкрд╕реА;

   ptrdiff_t tryLevel = OmpUtil :: GetLevel_TRY (env);
   рдЕрдЧрд░ (tryLevel! = -1)
     рд╡рд╛рдкрд╕реА;
   string error = VivaErrors :: V509 ();
   walker.AddError (рддреНрд░реБрдЯрд┐, srcPtree, 509, DATE_1_SEP_2010 (), Level_1);
 }




рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ 10



V510ред 'рдлреВ' рдлрд╝рдВрдХреНрд╢рди рдХреЛ 'рдПрди' рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдЧ-рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИред



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



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



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



All Articles