
рдЖрдЬ рдЖрдк
рдХрдпрд╛рдордд 3 рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдХрд╣рд╛рдиреА рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдХрд┐рддрдирд╛ рд╕реБрдВрджрд░ рд╣реИред
рд╣рд╛рдБ,
рд╕реБрдВрджрд░ ред рдореБрдЭреЗ рд╕рдордЭрд╛рдиреЗ рдХреАред
рдореЗрд░реЗ рд╡реАрдбрд┐рдпреЛ рдЧреЗрдо
рдбрд╛рдпрдПрдб рдХреА рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рдмрд╛рдж
, рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯрд╛ рдмреНрд░реЗрдХ рд▓реЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдЕрдВрддрддрдГ рдХреБрдЫ рдХрд┐рддрд╛рдмреЗрдВ рдкрдврд╝реАрдВ рдФрд░ рдЙрди рдлрд┐рд▓реНрдореЛрдВ рдХреЛ рджреЗрдЦрд╛, рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рджреВрд░ рджрд░рд╛рдЬ рдореЗрдВ рдЗрддрдиреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рдЦрд╛ рдерд╛ред рдлрд┐рд░ рдореИрдВрдиреЗ
рдбрд╛рдпрдж рдХреЗ рдпреВрд░реЛрдкреАрдп рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдордп рдореИрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕реЛрдиреА рдХреЗ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд┐рднрд╛рдЧ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рд╕реЗ рдЕрдзрд┐рдХ рдерд╛ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдлрд╛рдВрд╕реА рдХреЗ рдПрдХ рдорд╣реАрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореБрдЭреЗ рдЖрдЧреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рдпрд╛рдж рдЖрдпрд╛ рдХрд┐ рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдЙрди рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рдерд╛, рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдЕрдкрдиреЗ рдирдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ
рдбрд╛рдпрдб рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рдЬрдм рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл
рдбрд╛рдпрдб рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдпрд╣ рдЕрдЪреНрдЫреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд╛рд▓рд╛ "рдкрд╛рд░рджрд░реНрд╢реА" рдЧреЗрдо рдЗрдВрдЬрди рдерд╛, рдФрд░ рдкрд┐рдЫрд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЗрд╕ рддрд░рд╣ рдирд┐рдХрд▓рд╛ред рдЦреЗрд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЕрдВрдд рдХреА рдУрд░, рд╡рд╣ рдПрдХ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдЧрдВрджрдЧреА рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ред
рдбрд╛рдпрдПрдб рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрдВрддрд┐рдо 6 рд╣рдлреНрддреЛрдВ рдореЗрдВ
, рдореИрдВрдиреЗ рдХреЛрдб рдХреА 13k рд▓рд╛рдЗрдиреЗрдВ рдЬреЛрдбрд╝реА рд╣реИрдВред рдореБрдЦреНрдп рдореЗрдиреВ MainMenu.cc рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╕реНрд░реЛрдд 25 501 рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдлреБрд▓рд╛рдпрд╛ рд╣реИред рдПрдХ рдмрд╛рд░, рд╕реБрдВрджрд░ рдХреЛрдб #ifdef рдХреЗ рд╕рднреА рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЧрдбрд╝рдмрдбрд╝реА рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛, рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд, рдмрджрд╕реВрд░рдд SIMDs рдФрд░ рдХреЛрдбрд╛рдВрддрд░рдХ рдЖрд╡реЗрд╖рдг - рдФрд░ рдореИрдВрдиреЗ рдЦреБрдж рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд╢рдмреНрдж рдЦреЛрдЬрд╛ "рдХреЛрдб рдПрдиреНрдЯреНрд░реЙрдкреА"ред рдЗрд╕ рд╕рдм рдкрд░ рдПрдХ рджреБрдЦреА рдирдЬрд╝рд░ рдХреЗ рд╕рд╛рде, рдореИрдВ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдПрдХ рдпрд╛рддреНрд░рд╛ рдкрд░ рдЧрдпрд╛, рдЬреЛ рдореБрдЭреЗ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдХрд┐ рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рдХреЛрдб рдХреА рд╕реИрдХрдбрд╝реЛрдВ рд╣рдЬрд╛рд░реЛрдВ рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рдмрдбрд╝реЗ рдЦреЗрд▓ рдЗрдВрдЬрдиреЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рджреЗрдЦрд╛, рддреЛ рдореИрдВ рдирд┐рд░рд╛рд╢ рд╣реЛ рдЧрдпрд╛; рдореЗрд░рд╛ "рднрдпрд╛рдирдХ" рд╕реНрд░реЛрдд рдХреЛрдб рдмрд╛рдХреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рднреА рд╕рд╛рдл рдерд╛!
рдореИрдВрдиреЗ рдЕрдкрдиреА рдЦреЛрдЬ рдЬрд╛рд░реА рд░рдЦреА, рдЗрд╕ рддрд░рд╣ рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╕реЗ рдЕрд╕рдВрддреБрд╖реНрдЯред рдЕрдВрдд рдореЗрдВ, рдореБрдЭреЗ
рдЖрдИрдбреА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рджреНрд╡рд╛рд░рд╛ рдХрдпрд╛рдордд 3 рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рдПрдХ
рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдорд┐рд▓рд╛, рдЬрд┐рд╕реЗ рдлреЗрдмрд┐рдпрди рд╕рд╛рдВрдЧрд▓рд╛рд░реНрдб рдиреЗ рд▓рд┐рдЦрд╛ рдерд╛ ред
рдореИрдВрдиреЗ рдбреВрдо 3 рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдФрд░ рдлреИрдмрд┐рдпрди рдХреЗ рд▓реЗрдЦреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рдХрдИ рджрд┐рди рдмрд┐рддрд╛рдП, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рдЯреНрд╡реАрдЯ рдХрд┐рдпрд╛:
рдореИрдВрдиреЗ рдХреБрдЫ рд╕рдордп рдбреВрдо 3 рд╕реНрд░реЛрдд рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдореЗрдВ рдмрд┐рддрд╛рдпрд╛ред рдпрд╣ рд╢рд╛рдпрдж рдореИрдВрдиреЗ рдХрднреА рджреЗрдЦрд╛ рд╣реИ рд╕рдмрд╕реЗ рд╕рд╣рдЬ рдФрд░ рдкреНрдпрд╛рд░реА рдХреЛрдб рд╣реИред
рдФрд░ рдпрд╣ рд╕рдЪ рдерд╛ред рдЗрд╕ рдХреНрд╖рдг рддрдХ, рдореИрдВрдиреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рдХрднреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХреАред рд╣рд╛рдВ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦреБрдж рдХреЛ "рдкреНрд░реЛрдЧреНрд░рд╛рдорд░" рдХрд╣рдирд╛ рдЬреНрдпрд╛рджрд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддрдм рддрдХ рд░рд╣рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рди рдХрд░ рджреЗред рдбреВрдо 3 рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рдирд╛ рд╕реАрдЦрд╛ред
***
рдЖрдкрдХреЛ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: рдбрд╛рдпрдб рдореЗрдВ рдХреЛрдб рдХреА 193k рд▓рд╛рдЗрдиреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рд╕рднреА C ++ рдореЗрдВред
рдбреВрдо 3 - 601k,
рдХреНрд╡реЗрдХ III - 229k рдФрд░
рдХреНрд╡реЗрдХ II - 136kред рдпреЗ рдмрдбрд╝реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИрдВред
рдЬрдм рдореБрдЭреЗ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛, рддреЛ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдиреНрдп рдЦреЗрд▓реЛрдВ рдФрд░ рд▓реЗрдЦреЛрдВ рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдорд╛рдирдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдФрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдкрдврд╝рдиреЗ рдХреЗ рдмрд╣рд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред рдЕрдкрдиреЗ рд╢реЛрдз рдХреЗ рдХрдИ рджрд┐рдиреЛрдВ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЯреНрд╡реАрдЯ рд╕реЗ рд╢рд░реНрдорд┐рдВрджрд╛ рд╣реЛ рдЬрд╛рдКрдВрдЧрд╛, рдФрд░ рдЗрд╕рдиреЗ рдореБрдЭреЗ рд╕реЛрдЪрдиреЗ рдкрд░ рдордЬрдмреВрд░ рдХрд░ рджрд┐рдпрд╛ - рддреЛ рдпрд╣ "рд╕реБрдВрджрд░" рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рдХреНрдпрд╛ рд╣реИ? рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдХрдИ рд╕рд╛рдереА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реЗ рдкреВрдЫрд╛ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВред рдЙрдирдХреЗ рдЙрддреНрддрд░ рд╕реНрдкрд╖реНрдЯ рдереЗ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдБ рдЙрджреНрдзреГрдд рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ:
- рдХреЛрдб рдХреЛ рд╕реНрдерд╛рдиреАрдп рдФрд░ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдп рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред
- рд╕реНрдерд╛рдиреАрдп рдХреЛрдб рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдХрдо рд╕реЗ рдХрдо, рдкреВрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдХреЛрдб рдХреЛ "рдЕрдкрдиреЗ рджрдо рдкрд░" рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рджреЛрдиреЛрдВ рдХреЛрдб рдХреЗ рдХрд╛рдо рдХреА рдирдХрд▓ рдХрд░рддреА рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдХреБрдЫ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЦрд░реЛрдВрдЪ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
IdTech 4 рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдорд╛рдирдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ (
.doc ) рдЙрдкрд▓рдмреНрдз рд╣реИрдВ рдФрд░ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рд╕рднреНрдп рдкрдврд╝рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реБрдЭрд╛ рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВ рдЗрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдирдХреЛрдВ рдкрд░ рдЬрд╛рдКрдВрдЧрд╛ рдФрд░ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╡реЗ
рдХрдпрд╛рдордд 3 рдХреЛрдб рдХреЛ рдЗрддрдирд╛ рд╕реБрдВрджрд░ рдХреИрд╕реЗ рдмрдирд╛рддреЗ рд╣реИрдВред
рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдФрд░ рдкрд╛рд░реНрд╕рд┐рдВрдЧ
рдХрдпрд╛рдордд рдореЗрдВ рдореИрдВрдиреЗ рдЬреЛ рд╕рдмрд╕реЗ рд╕реНрдорд╛рд░реНрдЯ рдЪреАрдЬреЗрдВ рджреЗрдЦреАрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдкреВрд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЙрдирдХреЗ рд▓реЗрдХреНрд╕рд┐рдХрд▓ рдПрдирд╛рд▓рд╛рдЗрдЬрд░ рдФрд░ рдкрд╛рд░реНрд╕рд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ред рд╕рднреА рд╕рдВрд╕рд╛рдзрди рдлрд╝рд╛рдЗрд▓реЗрдВ рдПрдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╡рд╛рд▓реА ascii рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ: рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдПрдиреАрдореЗрд╢рди рдлрд╛рдЗрд▓реЗрдВ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдЖрджрд┐ред рд╕рднреА рд╕рдорд╛рдиред рдпрд╣ рдЖрдкрдХреЛ рдПрдХ рд╣реА рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкрд╛рд░реНрд╕рд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИ, рдФрд░ C ++ рдХреЗ рдореБрдЦреНрдп рд╕рдмрд╕реЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдПрдХрд▓ рдкрд╛рд░реНрд╕рд░ рдФрд░ рд▓реЗрдХреНрд╕рд┐рдХрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рдкрд╛рд▓рди рд╕реЗ рдЗрдВрдЬрди рдХреЗ рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдХреЛ рдбреЗрдЯрд╛ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЗрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдХреЛрдб рдкрд╣рд▓реЗ рд╣реА рд▓рд┐рдЦрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдмрд╛рдХреА рдХреЛрдб рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдХрд╛рдВрд╕реНрдЯрд┐рдЯ рдФрд░ рд╕рдЦреНрдд рдкреИрд░рд╛рдореАрдЯрд░ (рдХрдареЛрд░ рдкреИрд░рд╛рдореАрдЯрд░)
Doom рдХреЛрдб рдкрд░реНрдпрд╛рдкреНрдд рд╕рдЦреНрдд рд╣реИ, рд▓реЗрдХрд┐рди (рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ) const рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╕рдЦреНрдд рдирд╣реАрдВ рд╣реИред рдХреЙрдиреНрд╕реНрдЯ рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЙрдкреЗрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореЗрд░рд╛ рдирд┐рдпрдо рд╣реИ: "рдХрд╛рд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рд░ рдЬрдЧрд╣ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕рд┐рд╡рд╛рдп рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред" рдореЗрд░рд╛ рд╕рдкрдирд╛ рд╣реИ рдХрд┐ рд╕реА ++ рдореЗрдВ рд╕рднреА рдЪрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╣реИрдВред
рдХрдпрд╛рдордд рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдиреЛ-рдЖрдЙрдЯрдкреБрдЯ рдкреЙрд▓рд┐рд╕реА рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреА рд╣реИ; рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рджрд┐рдП рдЧрдП рд╕рднреА рдкреИрд░рд╛рдореАрдЯрд░ рдпрд╛ рддреЛ рдЗрдирдкреБрдЯ рдпрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╣реИрдВ, рдФрд░ рдЗрд╕ рднреВрдорд┐рдХрд╛ рдХреЛ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдХрднреА рд╕рдВрдпреЛрдЬрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╕рд░рд▓ рддрдХрдиреАрдХ рдЖрдкрдХреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдХрд┐ рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

рдмрд╕ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрддреА рд╣реИ!
рдХреЗрд╡рд▓ рдХреБрдЫ рдЪреАрдЬреЗрдВ рдЬреЛ рддреБрд░рдВрдд рдореЗрд░реА рдЖрдВрдЦ рдХреЛ рдкрдХрдбрд╝рддреА рд╣реИрдВ, рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреА рд╣реИрдВ:
- idPlane рдХреЛ рдПрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдореЗрдВ рд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ idPlane рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд┐рдП рдмрд┐рдирд╛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЙрд╕реА рд╡рд┐рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
- рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдПрдкреНрд╕рд┐рд▓реЙрди рдХреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛рдПрдЧрд╛ (рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдпрд╣ рд╡рд┐рдзрд┐ рдЕрдиреБрддреНрдкрд╛рджрдХ рд╣реЛрдЧреА)
- рдЖрдЧреЗ, рдкреАрдЫреЗ, frontOnPlaneEdges рдФрд░ backOnPlaceEdges OUTPUT рдЪрд░ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
- рдкреИрд░рд╛рдореАрдЯрд░ рд╕реВрдЪреА рдХреЗ рдмрд╛рдж рдЕрдВрддрд┐рдо рдХреЙрдиреНрд╕реНрдЯ рд╕рдВрд╢реЛрдзрдХ рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ рд╣реИред рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ idSurface :: рд╕реНрдкреНрд▓рд┐рдЯ () рд╕рддрд╣ рдХреЛ рд╕реНрд╡рдпрдВ рдмрджрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣ C ++ рдореЗрдВ рдореЗрд░реА рдкрд╕рдВрджреАрджрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдмрд╣реБрдд рдпрд╛рдж рдЖрддреА рд╣реИред рд╡рд╣ рдореБрдЭреЗ рдРрд╕рд╛ рдХреБрдЫ рдХрд░рдиреЗ рджреЗрддреА рд╣реИ:
рд╢реВрдиреНрдп рдЪ (const idSurface & s) {
s.Split (....);
}
рдпрджрд┐ рд╕реНрдкреНрд▓рд┐рдЯ рдХреЛ рд╕реНрдкреНрд▓рд┐рдЯ (...) рдХреЙрдиреНрд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛; рдпрд╣ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЕрдм рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рдХрд┐рд╕реА рднреА рдХреЙрд▓ рдЯреВ f () рд╕рддрд╣ рдХреЛ рдирд╣реАрдВ рдмрджрд▓реЗрдЧреА, рднрд▓реЗ рд╣реА f () рдХрд┐рд╕реА рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рд╕рддрд╣ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ рдпрд╛ рдХрд┐рд╕реА рднреА рд╕рд░рдлреЗрд╕ :: рд╡рд┐рдзрд┐ () рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реЛред рдХреЙрдиреНрд╕реНрдЯ рдореБрдЭреЗ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдмрддрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдордЧреНрд░ рдкреНрд░рдгрд╛рд▓реА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреЗрдд рднреА рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреА рдШреЛрд╖рдгрд╛ рдХреЗ рдПрдХ рдкрдврд╝рдиреЗ рд╕реЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рддрд╣реЛрдВ рдХреЛ рд╡рд┐рдорд╛рдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореВрд▓ рд╕рддрд╣ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдирдИ рд╕рддрд╣реЛрдВ рдХреЛ рд╣рдорд╛рд░реЗ рд╕рд╛рдордиреЗ рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ - рд╕рд╛рдордиреЗ рдФрд░ рдкреАрдЫреЗ, рдФрд░ рд╕рдВрднрд╡рддрдГ, рд╕рд╛рдЗрдб рдлреНрд░рдВрдЯрдСрдирдкреНрд▓реЗрдбреЗрдЬ рдФрд░ рдмреИрдХрдСрдирдкреНрд▓реЗрдирдПрдЬреЗрд╕ред
рдореЗрд░реЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рдпрдо рдФрд░ "рдЗрдирдкреБрдЯ-рдЖрдЙрдЯрдкреБрдЯ" рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдХрдореА рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ рдЕрдЪреНрдЫреЗ рдХреЛрдб рдХреЛ рдЕрджреНрднреБрдд рд╕реЗ рдЕрд▓рдЧ рдХрд░рддреА рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рди рдХреЗрд╡рд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдпрд╛ рдЗрд╕реЗ рд░рд┐рдлреИрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рднреА рдорджрдж рдорд┐рд▓рддреА рд╣реИред
рдиреНрдпреВрдирддрдо рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ
рдпрд╣ рдкреИрд░рд╛рдЧреНрд░рд╛рдл, рдмреЗрд╢рдХ, рдЕрднреА рднреА рдХреЛрдб рд▓реЗрдЦрди рд╢реИрд▓реА рдХреЗ рдореБрджреНрджреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдЪрд┐рдВрддрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА,
рдХрдпрд╛рдордд рдореЗрдВ рдЗрддрдиреА рдЕрджреНрднреБрдд рдмрд╛рдд рд╣реИ рдХрд┐ рдЕрддреНрдпрдзрд┐рдХ рдЯрд┐рдкреНрдкрдгреА рдХреА рдХрдореА рд╣реИред рдореЗрд░реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдореБрдЭреЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреЛрдб рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИ рдЬреЛ рдирд┐рдореНрди рдХреЗ рд╕рдорд╛рди рд╣реИ:

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЯреЛрдЯрдХреЗ, рдПрдХ рдмрд╣реБрдд рд╣реА рдХрд╖реНрдЯрдкреНрд░рдж рдмрд╛рдд рд╣реИрдВред рдХреНрдпреЛрдВ? рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣ рдирд╛рдо рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреЛрдб рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ - рдмрд╕ рдЗрд╕рдХреЗ рдирд╛рдо рдХреЛ рджреЗрдЦреЗрдВред рдпрджрд┐ рдпрд╣ рдореЗрд░реЗ рдирд╛рдо рд╕реЗ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдирд╛рдо рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЫреЛрдЯрд╛ рдХрд░реЗрдВред рдпрджрд┐ рдЗрд╕реЗ рдмрджрд▓рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЫреЛрдЯрд╛ - рдЕрдЪреНрдЫрд╛ рд╣реИ, рддреЛ рдЖрдк рдЯрд┐рдкреНрдкрдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рднреА рд╕реНрдХреВрд▓реА рдмрдЪреНрдЪреЛрдВ рдХреЛ рд╕рд┐рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ; рд▓реЗрдХрд┐рди рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕рдЪ рдирд╣реАрдВ рд╣реИред рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рддрдм рддрдХ рдЦрд░рд╛рдм рд╣реЛрддреА рд╣реИрдВ рдЬрдм рддрдХ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреАред рдФрд░ рд╡реЗ рдЕрддреНрдпрдВрдд рджреБрд░реНрд▓рдн рд╣реИрдВред рдХрдо рд╕реЗ рдХрдо рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП
рдбреВрдо рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рдиреЗ рдПрдХ рдЬрд┐рдореНрдореЗрджрд╛рд░ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред IdSurface рдХрд╛ рдкреНрд░рдпреЛрдЧ :: рд╡рд┐рднрд╛рдЬрди () рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЧрдИ рд╣реИ:
// рд╕рддрд╣ рдХреЛ рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рдХреА рд╕рддрд╣реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╕рддрд╣ рд╣реА рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣рддреА рд╣реИ
// frontOnPlaneEdges рдФрд░ backOnPlaneEdges рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдЙрди рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛рдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рднрд╛рдЬрди рд╡рд┐рдорд╛рди рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рдкрд░ рд╕реНрдерд┐рдд рд╣реИрдВред
// рд░рд┐рдЯрд░реНрди SIDE_?
рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмреЗрдорд╛рдиреА рд╣реИред рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣ рд╕рдм рдЬрд╛рдирддреЗ рд╣реИрдВред рджреВрд╕рд░реА рдФрд░ рддреАрд╕рд░реА рдкрдВрдХреНрддрд┐ рдХреБрдЫ рдирдИ рдЬрд╛рдирдХрд╛рд░реА рд▓реЗ рдЬрд╛рддреА рд╣реИред рд╣рдо рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред
рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП,
рдбреВрдо рдХреЛрдб рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдмрд╣реБрдд рдХрдареЛрд░ рд╣реИ, рдЬреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╢реИрд▓реА рдХрд╛ рд╡рд┐рд╖рдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ "рд╕рд╣реА" рддрд░реАрдХрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрджрд▓рддрд╛ рд╣реИ рдФрд░ рдЕрдВрдд рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░рд╛рдВрдХ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдмрд╛рд╣рд░реА рдХреЛрдб рдХреЗ рд▓рд┐рдП рдмрджрд▓ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЕрдм рдЯрд┐рдкреНрдкрдгреА рдХреЛрдб рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реЛрдЧреАред рдмрд╛рд╣рд░реА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдХреЛрдб рдХреА рдкрдардиреАрдпрддрд╛ рдФрд░ рд╕рдЯреАрдХрддрд╛ рдХреЛ рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛рддреА рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдХреЛрдб рдЦрд░рд╛рдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрдВрдбреЗрдВрдЯ
рдбреВрдо рд╕реНрдХреНрд░реАрди рдХреЗ рдореБрдХреНрдд рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╕реНрдерд╛рди рдХреЛ рдмрд░реНрдмрд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдЪреНрдЫреБрдХ рдирд╣реАрдВ рд╣реИред
рдпрд╣рд╛рдБ t_stencilShadow :: R_ChopWinding () рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рдореИрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдкреВрд░реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореЗрд░реА рд╕реНрдХреНрд░реАрди рдХреЗ 1/4 рдкрд░ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ, рдЕрдиреНрдп 3/4 рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдХреЛрдб рдЕрдкрдиреЗ рдкрд░рд┐рд╡реЗрд╢ рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЬреАрд╡рди рдореЗрдВ рдЗрд╕реЗ рдмрд╣реБрдд рджреЗрдЦрд╛ рд╣реИ:

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

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

рдореБрдЭреЗ
рдЖрдИрдбреА рдХреЛрдб рдореЗрдВ рдПрдХ рднреА рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬрд╣рд╛рдВ рд╡реЗ рдХрдо рд╕реЗ рдХрдо {} рдХреЛ рдпрд╛рдж рдХрд░реЗрдВрдЧреЗред рдпрджрд┐ рд╣рдо рдЕрддрд┐рд░рд┐рдХреНрдд {} рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕ рд╕рдордп () рдмреНрд▓реЙрдХ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдореЗрдВ рдЬрд┐рддрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрд╕рд╕реЗ рдХрдИ рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧреЗрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЛрдИ рднреА рд╕рдВрд╢реЛрдзрди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреАрдбрд╝рд╛ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ - рдпрд╣ рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рдпрджрд┐ рдкрде (c> d) рд╣реИ рддреЛ рдореБрдЭреЗ рдПрдХ рдФрд░ рд╢рд░реНрдд рдбрд╛рд▓рдиреА рд╣реЛрдЧреАред
рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХрд╛ рдиреНрдпреВрдирддрдо рдЙрдкрдпреЛрдЧ
рдЖрдИрдбреА рдиреЗ C ++ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕рдмрд╕реЗ рдмрдбрд╝реА рдирд┐рд╖реЗрдзреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдпрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдПрд╕рдЯреАрдПрд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ рдПрд╕рдЯреАрдПрд▓ рдХреЗ рд╕рд╛рде "рдкреНрдпрд╛рд░ рд╕реЗ рдирдлрд░рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрджрдо" рд░рд┐рд╢реНрддреЗ рдореЗрдВ рд╣реВрдВред
рдбрд╛рдпрдПрдб рдореЗрдВ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдбрд┐рдмрдЧ рдмрд┐рд▓реНрдб рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рд░рд┐рд▓реАрдЬ рдореЗрдВ, рдореИрдВрдиреЗ рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдкреИрдХ рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рд▓реЛрдб рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рдП, рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрд╕рдЯреАрдПрд▓ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред рдПрд╕рдЯреАрдПрд▓ рдПрдХ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЪреАрдЬ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдмреБрдирд┐рдпрд╛рджреА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ; рдЗрд╕рдХреА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдмрджрд╕реВрд░рдд рдХреЛрдб рд╣реЛрддрд╛ рд╣реИ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдЦрддрд░рд╛ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, std :: рд╡реЗрдХреНрдЯрд░ рд╡рд░реНрдЧ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдореБрдЭреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

C ++ 11 рдореЗрдВ, рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдмрд╣реБрдд рдЖрд╕рд╛рди рд▓рдЧрддреА рд╣реИ:

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ рдСрдЯреЛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рддрд░рд╣ рдирд╣реАрдВ рд╣реВрдВ, рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдб рдХреЛ рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдард┐рди рд╣реИред рдореИрдВ рдХрднреА-рдХрднреА рдкрд┐рдЫрд▓реЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдСрдЯреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдм рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЧрд▓рдд рдирд┐рд░реНрдгрдп рдерд╛ред рдореИрдВ рдПрд╕рдЯреАрдПрд▓ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреА рдмреЗрддреБрдХреА рдЪрд░реНрдЪрд╛ рднреА рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБ, рдЬреИрд╕реЗ рдХрд┐ std: for_each рдпрд╛ std :: remove_ifред
Std :: рд╡реЗрдХреНрдЯрд░ рд╕реЗ рдорд╛рди рд╣рдЯрд╛рдирд╛ рднреА рднрдпрд╛рдирдХ рд╣реИ:

рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рд╣рд░ рдмрд╛рд░ рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП!
рдЖрдИрдбреА рд╕рднреА рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЛ рджреВрд░ рдХрд░рддрд╛ рд╣реИ: рд╡реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЖрдзрд╛рд░ рдХрдВрдЯреЗрдирд░, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреНрд▓рд╛рд╕ рдЖрджрд┐ рдХреЛ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рдЙрдиреНрд╣реЗрдВ рдПрд╕рдЯреАрдПрд▓ рдореЗрдВ рдЕрдкрдиреЗ рд╕рдордХрдХреНрд╖реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ - рд╢рд╛рдпрдж рдЙрдиреНрд╣реЗрдВ рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рд╡реЗ рдиреНрдпреВрдирддрдо рд░реВрдк рд╕реЗ рдЯреЗрдореНрдкрд░реНрдб рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдореЗрдореЛрд░реА рдПрд▓реЛрдХреЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ STL рдХреЛрдб рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рдирд┐рд░рдВрддрд░ рдЙрдкрдпреЛрдЧ рд╕реЗ рдЗрддрдирд╛ рднрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкрдврд╝рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред
рд╕реА ++ рдХреЛрдб рдЬрд▓реНрджреА рд╕реЗ рдЕрд╕рд╣рдиреАрдп рдФрд░ рдмрджрд╕реВрд░рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡рд┐рдкрд░реАрдд рдкреНрд░рднрд╛рд╡ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд░рдиреА рдкрдбрд╝рддреА рд╣реИред рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдЪреАрдЬреЗрдВ рдХрд┐рддрдиреА рджреВрд░ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ, рдЗрд╕ рдПрд╕рдЯреАрдПрд▓ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рджреЗрдЦреЗрдВред Microsoft рдФрд░ GCC STL рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦреЗ рдЧрдП рд╕рдмрд╕реЗ рдбрд░рд╛рд╡рдиреЗ рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИрдВред рднрд▓реЗ рд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХрд┐рд╕реА рднреА рдзреВрд▓ рдХрдгреЛрдВ рдХреЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛрдб рд╕реЗ рдЙрдбрд╝рд╛ рджреЗрддрд╛ рд╣реИ, рдлрд┐рд░ рднреА рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрдбрд╝рдмрдбрд╝ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдВрджреНрд░реЗрдИ рдЕрд▓реЗрдХреНрдЬреЗрдВрдбреНрд░реЗрд╕реНрдХреБ рд╕реЗ рд▓реЛрдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдпрд╛ рдмреВрд╕реНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рджреЗрдЦреЗрдВ - рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда C ++ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдиреЗ рд▓рд┐рдЦрд╛ рдерд╛, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдпрдерд╛рд╕рдВрднрд╡ рд╕реБрдВрджрд░ рдмрдирд╛рдиреЗ рдХреЗ рдЙрдирдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрджрд╕реВрд░рдд рдФрд░ рдореЗрдВ рдкрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкрдардиреАрдп рдХреЛрдбред
рдЖрдИрдбреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ? рд╡реЗ рдмрд╕ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ "рдЖрдо рднрд╛рдЬрдХ" рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЙрдирдХреЗ рдкрд╛рд╕ рд╣реИрд╢рдЯреЗрдмрд▓ рдФрд░ рд╣реИрд╢рдВрдбреЗрдХреНрд╕ рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВ, рдкрд╣рд▓реЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХреЙрдиреНрд╕реНрдЯ рдЪрд░реН *, рдФрд░ рджреВрд╕рд░реА - рдЬреЛрдбрд╝реА рдЗрдВрдЯ-> рдЗрдВрдЯред C ++ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдирд┐рд░реНрдгрдп рдмреБрд░рд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ - "рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП" рдПрдХ рдПрдХрд▓ рд╡рд░реНрдЧ рд╣реИрд╢рдЯреЗрдмрд▓ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ KeyType = const char * рдФрд░ <int, int> рдХреЗ рд▓рд┐рдП рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд▓рд┐рдЦреЗрдВред рд▓реЗрдХрд┐рди
рдЖрдИрдбреА рдиреЗ рдЬреЛ рдХрд┐рдпрд╛ рд╡рд╣ рднреА рд╕рд╣реА рдерд╛, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрдирдХреЗ рдХреЛрдб рдХреЛ рдХрдИ рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рдмрдирд╛ рджрд┐рдпрд╛ред
рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдмрд╕ рд╣реИрд╢ рдФрд░ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдЕрдЪреНрдЫреА рд╕реА ++ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реИрд▓реА" рдХреЗ рдмреАрдЪ рд╡рд┐рдкрд░реАрдд рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВред
рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╣реИрд╢рдЯреЗрдмрд▓ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХреА рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реА рдЧрдгрдирд╛ рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдЧ рдмрдирд╛рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛:

рдЗрд╕реЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдЕрдм рдЖрдк ComputeHashForType рдХреЛ рд╣реИрд╢рдЯреЗрдмрд▓ рдХреЗ рд▓рд┐рдП HashComputer рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдЗрд╕реА рддрд░рд╣, рдореИрдВрдиреЗ рдЗрд╕реЗ рдШрд░ рдкрд░ рдХрд┐рдпрд╛ред рдпрд╣ рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдирд┐рд░реНрдгрдп рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди ... рдХрд┐рддрдирд╛ рдмрджрд╕реВрд░рдд! рдпрджрд┐ рд╣рдо рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдПрдХ рдореЗрдореЛрд░реА рдПрд▓реЛрдХреЗрдЯрд░ рдХреЗ рд╕рд╛рде? рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд╕рд╛рде? рддрдм рд╣рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рдорд┐рд▓рддрд╛ рд╣реИ:

рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рдХреНрд░реВрд░ рдкрд░рд┐рднрд╛рд╖рд╛, рд╣реИ рдирд╛?

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

рдФрд░

рдФрд░ рдЖрдкрдиреЗ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдФрд░ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд┐рдпрд╛:

рд╢рд╛рдпрдж StringAllocator рдирд╛рдо рдХрд╛ StringHashTable рдореЗрдореЛрд░реА рдПрд▓реЛрдХреЗрдЯрд░ рд╡реИрд╢реНрд╡рд┐рдХ рдореЗрдореЛрд░реА рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рднреНрд░рдорд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдкреВрд░реЗ рдХреЛрдб рдХреЛ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ StringHashTable рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрдЯрд┐рд▓ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рд╕реЗ рдПрдХ рдЯрд╛рдЗрдкрд░рд╛рдЗрдл рд╣реИ, рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдПрдВ, рдПрдХ рдЕрдиреНрдп рдПрд▓реЛрдХреЗрдЯрд░ рдвреВрдВрдвреЗрдВ, рдЗрд╕рдХрд╛ рд╡рд┐рд╡рд░рдг рдвреВрдВрдвреЗрдВ ... рдПрдХ рдмреБрд░рд╛ рд╕рдкрдирд╛, рдмрд╕ рдПрдХ рдмреБрд░рд╛ рд╕рдкрдирд╛ред
рдХрдпрд╛рдордд C ++ рддрд░реНрдХ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдЙрдВрдЯрд░ рдЪрд▓рд╛рддрд╛ рд╣реИ: рдХреЛрдб рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рд╡рд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред
рдХрдпрд╛рдордд рд╕реЗ рд╣реИрд╢рдЯреЗрдмрд▓ рдХреНрдпрд╛ рд╣реЛрддрд╛
рд╣реИ рдЬрдм рдЙрд╕реЗ рд╣реИрд╢ рдпрд╛ рдХреБрдЫ рдФрд░ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ? рдЗрд╕реЗ idStr :: GetHash () рдХрд╣рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреА рдХреБрдВрдЬреА рдЗрд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреА рд╣реИ, рд╡рд╣ рд╣реИ рдХреЙрдиреНрд╕реНрдЯрд░реНрдб *ред рдпрджрд┐ рджреВрд╕рд░реА рдХреБрдВрдЬреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдХреБрдВрдЬреА рдХреЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдмрд╕ key.getHash () рдХреЛ рдмрд▓ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреБрдВрдЬреА рдкреНрд░рдХрд╛рд░ рдореЗрдВ int getHash () рд╡рд┐рдзрд┐ рд╣реИред
рд╕реА рд╕реЗ "рд╡рд┐рд░рд╛рд╕рдд" рдореЗрдВ рдЕрд╡рд╢реЗрд╖
рдореБрдЭреЗ рдареАрдХ рд╕реЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ 90 рдХреЗ рджрд╢рдХ рдореЗрдВ рдХрд┐рддрдиреЗ
рдЖрдИрдбреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЕрдм рдХрдВрдкрдиреА рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдЬреЙрди рдХрд╛рд░реНрдореИрдХ рдХреЛ рд╕реАред рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЕрдиреБрднрд╡ рд╣реИред
рдХреНрд╡реЗрдХ III рд╕реЗ рдкрд╣рд▓реЗ рд╕рднреА рдЖрдИрдбреА рдЧреЗрдо рд╕реА рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдереЗред рдореИрдВ C ++ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реЗ рдорд┐рд▓рд╛ рд╣реВрдВ, рдЬреЛ рдЗрд╕реЗ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред C рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдмрд╣реБрдд рдЕрдиреБрднрд╡ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЙрдирдХрд╛ рдХреЛрдб рднреА C ++ zirovanny рдерд╛ред рдкрд┐рдЫрд▓рд╛ рдЙрджрд╛рд╣рд░рдг рд╕рд┐рд░реНрдл рдХрдИ рдореЗрдВ рд╕реЗ рдПрдХ рдерд╛ - рдпрд╣рд╛рдВ рдЕрдиреНрдп рд╣реИрдВ рдЬреЛ рдореБрдЭреЗ рдЕрдХреНрд╕рд░ рдорд┐рд▓рддреЗ рд╣реИрдВ:
- рдмрд╣реБрдд рдмрд╛рд░ рдкреНрд░рд╛рдкреНрдд / рд╕реЗрдЯ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
- рд╕реНрдЯреНрд░рд┐рдВрдЧрд╕реНрдЯреНрд░реАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
- рдЕрддреНрдпрдзрд┐рдХ рдСрдкрд░реЗрдЯрд░ рдУрд╡рд░рд▓реЛрдбред
рдЖрдИрдбреА рд╕рдЦреНрддреА рд╕реЗ рдЗрди рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИред
рдЕрдХреНрд╕рд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рддрд╛ рд╣реИ:

рдпрд╣ рдХреЛрдб рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рдЗрд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдж рдХреЗ рд╕рдордп рдХреА рдмрд░реНрдмрд╛рджреА рд╣реИред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЖрдкрдХреЗ рд╕рдордп рд╕реЗ рдЕрдзрд┐рдХ рдЦрд╛ рдЬрд╛рдПрдЧрд╛

рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЖрдкрдХреЛ рдЕрдХреНрд╕рд░ рдХреБрдЫ рд╕рдВрдЦреНрдпрд╛ n рд╕реЗ var рдмрдврд╝рд╛рдирд╛ рдкрдбрд╝реЗ?

рдХреА рддреБрд▓рдирд╛ рдореЗрдВ

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

рдпрд╣ рдмрджрд╕реВрд░рдд рд╣реИред
рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдПрдХ рдордЬрдмреВрдд рд▓рд╛рдн рд╣реИ: рдЖрдк рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рд╕реЗ theString () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рдорддреБрд▓реНрдп рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╡рд░реНрдЧ рдЪрд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдмрд╣реБрдд рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЖрдИрдбреА рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИред рд╕реНрдЯреНрд░рд┐рдВрдЧрд╕реНрдЯреНрд░реАрдо рдХреЗ рдмрдЬрд╛рдп рдкреНрд░рд┐рдВрдЯрдл () рдХреЗ рд▓рд┐рдП рдСрдкреНрдЯ рдХрд░рдиреЗ рд╕реЗ рдХреЛрдб рдХреЛ рдкрдврд╝рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рд╣реИред
рдмрд╣реБрдд рдмреЗрд╣рддрд░!<< SomeClass рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд╛рд▓рдХ рдХрд╛ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рдЖрддрд╛ рд╣реИ:
[рдиреЛрдЯ: рдЬреЙрди рдХрд╛рд░реНрдореИрдХ рдиреЗ рдПрдХ рдмрд╛рд░ рджреЗрдЦрд╛ рдХрд┐ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХреА рдХрд┐ рдЙрдирдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдмрдЧ рдкреНрд░рд┐рдВрдЯрдл () рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЧрд▓рдд рдорд┐рд▓рд╛рди рдХреЗ рдХрд╛рд░рдг рд╣реБрдП рдереЗред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЕрдЧрд░ рд░реЗрдЬ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧрд╕реНрдЯреНрд░реАрдо рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПредрдЗрд╕рдХреЗ рдХрд╛рд░рдг? .. GCC рдФрд░ рдХреНрд▓реИрдВрдЧ рджреЛрдиреЛрдВ рдПрдХ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджреЗрддреЗ рд╣реИрдВ, рдЬрдм-рдЬрдм рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рдВрдЧреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓рд┐рдП рдмрд┐рдирд╛ рдЦреБрдж рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред]рдПрдХ рдЕрдиреНрдп рд╕рд┐рджреНрдзрд╛рдВрдд рдЬреЛ рдХрдпрд╛рдордд рдХреЛрдб рд╣реИред рдмрд╣реБрдд рд╕реБрдВрджрд░, рдпрд╣ рдСрдкрд░реЗрдЯрд░ рдЕрдзрд┐рднрд╛рд░ рдХрд╛ рдПрдХ рдиреНрдпреВрдирддрдо рдЙрдкрдпреЛрдЧ рд╣реИред C ++ рдореЗрдВ рд╢реБрд░реВ рдХреА рдЧрдИ рдпрд╣ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реБрд╡рд┐рдзрд╛ рдЖрдкрдХреЛ рдХреБрдЫ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ:
рдУрд╡рд░рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛, рдпреЗ рдСрдкрд░реЗрд╢рди рдХрдо рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдФрд░ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпрд╣рд╛рдБ рдХрдпрд╛рдордд рд╣реИрдФрд░ рд░реБрдХ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдХреЛрдб рджреЗрдЦрд╛ рдЬреЛ рдЖрдЧреЗ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдХреЛрдб рджреЗрдЦрд╛ рдХрд┐ рд╡реИрдХреНрдЯрд░ рдХреЗ рд╕реНрдХреЗрд▓рд░ рдЙрддреНрдкрд╛рдж, рдпрд╛ рд╡реЗрдХреНрдЯрд░ * рд╡реЗрдХреНрдЯрд░ рдСрдкрд░реЗрдЯрд░ рдЬреЛ рд╡реЗрдХреНрдЯрд░ рдЧреБрдгрд╛ рдХрд░рддрд╛ рд╣реИ, рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП '%' рдСрдкрд░реЗрдЯрд░ рдХреЛ рдУрд╡рд░рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрдЯрд░ * рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдХреЗрд╡рд▓ 3 рдбреА рдореЗрдВ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рдЖрдЦрд┐рд░рдХрд╛рд░, рдпрджрд┐ рдЖрдк рдХреБрдЫ_2d_vec * some_2d_vec рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХреНрдпрд╛ рдХрд░рдиреЗ рдХрд╛ рдЖрджреЗрд╢ рджреЗрдВрдЧреЗ? 4d рдпрд╛ рдЕрдзрд┐рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдЗрд╕реАрд▓рд┐рдП рдЖрдИрдбреА рд╕реЗ рдиреНрдпреВрдирддрдо рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕рд╣реА рд╣реИ - рдпрд╣ рд╣рдореЗрдВ рдХреЛрдИ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдирд╣реАрдВ рдЫреЛрдбрд╝рддрд╛ рд╣реИредрдХреНрд╖реИрддрд┐рдЬ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди
рдбреВрдо рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рдореИрдВрдиреЗ рдЬреЛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬреЗрдВ рд╕реАрдЦреАрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╢реИрд▓реА рдХрд╛ рдмрджрд▓рд╛рд╡ рдерд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реА рдХрдХреНрд╖рд╛рдПрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИрдВ: рдХрдпрд╛рдордд 3 рдХреЗ
рд▓рд┐рдП рдХреЛрдб рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ , рдЖрдИрдбреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЯреИрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ 4 рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рд╕рдорд╛рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯреИрдм рд╕рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реЛрдЪреЗ рдмрд┐рдирд╛ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рдЕрдкрдиреА рдХрдХреНрд╖рд╛рдУрдВ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
рд╡реЗ рд╡рд░реНрдЧ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдЕрдВрджрд░ рдЗрдирд▓рд╛рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред рдПрдХрдорд╛рддреНрд░ рдорд╛рдорд▓рд╛ рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓рд╛ рдерд╛, рдЬрдм рдлрд╝рдВрдХреНрд╢рди рдШреЛрд╖рдгрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрдб рдПрдХ рд╣реА рдкрдВрдХреНрддрд┐ рдкрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЕрдиреБрдореЛрджрд┐рдд рдирд╣реАрдВ рд╣реИред рдХрдХреНрд╖рд╛ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдЖрдпреЛрдЬрди рдХрд╛ рдпрд╣ рддрд░реАрдХрд╛ рдЙрдиреНрд╣реЗрдВ рдкрдврд╝рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рджрд░реНрдЬ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреЛ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ:
рдореИрдВ рд╕реНрд╡рдпрдВ рдХреАрдмреЛрд░реНрдб рдкрд░ рдкрд╛рддреНрд░реЛрдВ рдХреЗ рдЕрддреНрдпрдзрд┐рдХ рд╕реЗрдЯ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣реВрдВред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЕрдкрдирд╛ рдХрд╛рдо рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рдХрд░рдирд╛ рд╣реИ - рд▓реЗрдХрд┐рди рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝реА рд╣рд▓рдЪрд▓ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдХрдХреНрд╖рд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп рдПрдХ рдпрд╛ рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдХрдХреНрд╖рд╛ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рджреЗрдЦрдирд╛ рд╣реИред рдХрдпрд╛рдордд 3 рдХреЛрдбрд┐рдВрдЧ рдорд╛рдирдХреЛрдВ ( .doc ) рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХреЛрдбрд┐рдВрдЧ рд╢реИрд▓реА рдХреЗ рдХрдИ рдФрд░ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рдЬреЛ Doom 3 рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╕рднреА рд╕реМрдВрджрд░реНрдп рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ редрд╡рд┐рдзрд┐ рдирд╛рдо
рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдХрдпрд╛рдордд рдореЗрдВ рддрд░реАрдХреЛрдВ рдХреЗ рдирд╛рдордХрд░рдг рдХреЗ рдирд┐рдпрдореЛрдВ рдореЗрдВ рдЕрднреА рднреА рдХреБрдЫ рдХрдореА рд╣реИред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ рдЕрдкрдиреЗ рдХрд╛рдо рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ: рд╕рднреА рд╡рд┐рдзрд┐ рдХреЗ рдирд╛рдо рдХреНрд░рд┐рдпрд╛рдУрдВ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЕрдкрд╡рд╛рдж рдХреЗрд╡рд▓ рдРрд╕реЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрдм рдпрд╣ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИредрдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
рдЗрд╕рд╕реЗ рдмрд╣реБрдд рдмреЗрд╣рддрд░:
рд╣рд╛рдВ, рд╡рд╣ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рд╕реБрдВрджрд░ рд╣реИред
рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдиреЗ рдореБрдЭреЗ рдпрд╣ рд╕реЛрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдХрд┐ рд╣рдореЗрдВ рдХреЛрдб рдХреА рд╕реБрдВрджрд░рддрд╛ рд╕реЗ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рд╕рдордЭ рдЧрдпрд╛ рд╣реВрдВред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдореЗрд░реЗ рд╕рднреА рдЖрдХрд▓рди рдмрд╣реБрдд рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рд╣реЛрдВред рдЦреБрдж рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рддреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ - рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреА рд╢реИрд▓реА рдФрд░ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХрд╛ рд▓рдЧрд╛рддрд╛рд░ рдЙрдкрдпреЛрдЧредрдХреЛрдб рдХреА рд╢реИрд▓реА рдореЗрдВ рдХрдИ рд╡рд┐рдХрд▓реНрдк рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рд╣реИрдВ; рдореБрдЭреЗ рдХреЛрдИ рд╕рдВрджреЗрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рд╢реИрд▓реА рдХреЛ рдЪреБрдирдиреЗ рдХрд╛ рднрд╛рд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдХрдВрдзреЛрдВ рдкрд░ рд╣реИ рдЬреЛ рдЗрд╕реЗ рд▓рд┐рдЦрдиреЗ рдФрд░ рдкрдврд╝рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рд╕рдордп-рд╕рдордп рдкрд░ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПредрдореИрдВ рд╕рднреА рдХреЛ рдХрдпрд╛рдордд 3 рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рджреЗрдЦрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╣рд░ рджрд┐рди рдРрд╕рд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ: рдпрд╣рд╛рдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд░реНрдгреЛрдВ рдХреЗ рдмреАрдЪ рд╕рд┐рд╕реНрдЯрдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдбрд┐рдЬрд╝рд╛рдЗрди рд╕реЗ рд▓реЗрдХрд░ рдЯреИрдм рддрдХ рдХрд╛ рдкреВрд░рд╛ рд╕реЗрдЯ рд╣реИредрд╢реЙрди рдореИрдХреНрдЧреНрд░рд╛ ( рд╢реЙрди рдореИрдХреНрдЧреНрд░рд╛ рд░рд╛рдЬреНрдп рджреНрд╡рд╛рд░рд╛ ) - рдЧреЗрдо рдбреЗрд╡рд▓рдкрд░, рдЬреЛ рдЯреЛрд░рдВрдЯреЛ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ, рдкреНрд▓реЗрд╕реНрдЯреЗрд╢рди 3 рдХреЗ рд▓рд┐рдП рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рд╛рдЗрдХреЗрдбреЗрд▓рд┐рдХ рдЦреЗрд▓ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ - рдкрд╣реЗрд▓реА рджреМрдбрд╝ рдпреБрдЧреНрдо ред рд╣рдо рдЖрдкрдХреЛ рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЙрд╕рдХреЗ рдЦреЗрд▓ рдкрд░ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ рдФрд░ рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рдЙрд╕рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░реЗрдВ редрдиреЛрдЯ
рд▓рдЧрднрдЧред рдЬреЙрди рдХрд╛рд░реНрдореИрдХрдзрдиреНрдпрд╡рд╛рдж! рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ:
рдореИрдВ рдпрд╣ рд╕реЛрдЪрдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рддрд░реАрдХреЗ рд╕реЗ, рдХреНрд╡реЗрдХ 3 рдХреЛрдб рдЕрднреА рднреА рдмреЗрд╣рддрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореЗрд░реА рд╕реА-рд╢реИрд▓реА рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╢рд┐рдЦрд░ рдмрди рдЧрдпрд╛ рд╣реИ - рд╕реА ++ рдореЗрдВ рдЗрдВрдЬрди рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдиреЗ рдХреЗ рдкрд╣рд▓реЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдХреА рдЫреЛрдЯреА рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдХрд╛рд░рдг рдореЗрд░рд╛ рднреНрд░рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ , рдпрд╛ рдЗрд╕ рддрдереНрдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рджрд░реНрдЬрди рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рдЕрдЪреНрдЫрд╛ рд╕реА ++" рдкрдардиреАрдпрддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ "рдЕрдЪреНрдЫрд╛ рд╕реА" рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ, рдЬрдмрдХрд┐ рдмрд╛рдХреА рднрд╛рд╖рд╛рдПрдВ рд╕рдорд╛рди рд╣реИрдВред
рдореИрдВ рдХрдпрд╛рдордд 3 рдореЗрдВ рд╕реА ++ рдХреЗ рд╕рд╛рде "рдЕрдЯрдХ" рдХреА рддрд░рд╣ - рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рдЕрдиреБрднрд╡реА рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдерд╛, рдЬреЛ рдУрдУрдкреА рдХреМрд╢рд▓ рдХреЗ рд╕рд╛рде рдиреЗрдХреНрд╕рдЯреА рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рд╕реЗ рдмрдЪрд╛ рд╣реБрдЖ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реА ++ рдХреЛрдб рдХреЛ рдкреВрд░рд╛ рдХрд┐рдП рдмрд┐рдирд╛ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рднрд╛рд╖рд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рднреА рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рд╕реАрдЦрдирд╛ред рдкреАрдЫреЗ рдореБрдбрд╝рдХрд░ рджреЗрдЦреЗрдВ, рддреЛ рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореБрдЭреЗ рдЕрдлрд╕реЛрд╕ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдкреНрд░рднрд╛рд╡реА C ++ рдФрд░ рдХреБрдЫ рдФрд░ рдирд╣реАрдВ рдкрдврд╝рд╛ред рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд C ++ рдЕрдиреБрднрд╡ рдерд╛, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдЬреНрдпрд╛рджрд╛рддрд░ рдореЗрд░реА рд╢реИрд▓реАрдЧрдд рдкрд╕рдВрдж рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ред
рдореБрдЭреЗ рдХрдИ рд╡рд░реНрд╖реЛрдВ рддрдХ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдерд╛, рдФрд░ рдЕрдм рдореИрдВ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХрд┐рд╕реА рддрд░рд╣ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЕрдЬреАрдм рдХреЛрдб рдХреЗ рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рдореЗрдВ рд╕рдЦреНрдд рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рдЖрдХрд░реНрд╖рдг рддрд░рд╛рдЬреВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдПрд╕рдЯреАрдПрд▓ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдмрд╣рд╕ рдЕрднреА рднреА рд╣рдорд╛рд░реА рдЖрдИрдбреА рдореЗрдВ рдХрдо рдирд╣реАрдВ рд╣реБрдИ рд╣реИ, рдФрд░ рдЕрдм рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд "рдЯреНрд╡рд┐рдВрдХрд▓" рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рд╣реИред рдбреВрдо 3 рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рджрд┐рдиреЛрдВ рдореЗрдВ, рдореИрдВ рд▓рдЧрднрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдПрд╕рдЯреАрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдм ... рдЦреЗрд▓реЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рднреА рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЙрдЪрд┐рдд рддрд░реНрдХ рд╣реИрдВред
рдЕрдм рдореИрдВ рдПрдХ рднрдпрд╛рдирдХ рдХрд╛рд╕реНрдЯ рдирд╛рдЬрд╝реА рдмрди рдЧрдпрд╛ рд╣реВрдВ, рдФрд░ рдореИрдВ рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рд╡реИрд░рд┐рдПрдмрд▓ рдпрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕реНрдерд┐рд░ рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИ, рдЕрдЧрд░ рд╡реЗ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореЗрд░реЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ - рдореЗрд░рд╛ рдЕрдкрдирд╛ рд╡рд┐рдХрд╛рд╕ рдореБрдЭреЗ рдПрдХ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реИрд▓реА рдХреА рдУрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреБрд░рд╛рдиреА рдЖрджрддреЛрдВ рд╕реЗ рдЫреВрдЯрдирд╛ рдФрд░ рдХреБрдЫ рдУрдУрдкреА рддрдХрдиреАрдХреЛрдВ рд╕реЗ рджреВрд░ рдЬрд╛рдирд╛ред
[
www.altdevblogaday.com ]
рд▓рдЧрднрдЧред рдЕрдиреБрд╡рд╛рджрдореИрдВ рдЦреБрдж рдбреЗрдврд╝ рд╕рд╛рд▓ рдкрд╣рд▓реЗ
рдлреИрдмрд┐рдпрди рдХреЗ рдмреНрд▓реЙрдЧ рдкрд░ рдЖрдпрд╛ рдерд╛, рдФрд░ рдореИрдВ рдЗрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕реБрдЭрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬреЛ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ - рдпрджрд┐ рд╡рд┐рдЪрд╛рд░рд╢реАрд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ, рддреЛ рдХрдо рд╕реЗ рдХрдо рдкреНрд░реЗрд░рдгрд╛ рдХреЗ рд▓рд┐рдПред
"рдХреНрд▓реАрди" рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ - рдЯреНрд╡рд┐рдЯрд░ рдкрд░, рдореИрдВрдиреЗ рдХрд╛рд░реНрдореИрдХ рд╕реЗ рдЗрддрдирд╛ рд╕рдордп рдкрд╣рд▓реЗ рдирд╣реАрдВ рдкреВрдЫрд╛ рдерд╛ рдХрд┐ рд╡рд╣ рдХрд┐рд╕ рд╡рд┐рд╖рдп рдкрд░ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрдЧрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреБрд╕реНрддрдХ
"рдЖрд░реНрдЯ рдСрдлрд╝ рдж рд░реАрдбреЗрдмрд▓ рдХреЛрдб" (
рдЕрдореЗрдЬрд╝реЕрди ) рдХреА рджреГрдврд╝рддрд╛ рд╕реЗ рд╕рд▓рд╛рд╣ рджреАред