рдЖрдзреБрдирд┐рдХ рд╕реА ++! = (рдЕрдзрд┐рдХрд╛рдВрд╢) рдирдпрд╛ рдорд╛рдирдХ



"рдЖрдзреБрдирд┐рдХ C ++" рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реНрдпрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ "рдирдП C ++ рдорд╛рдирдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб"ред рдпрд╣рд╛рдВ, "рдирдпрд╛" рдХрд╛ рдорддрд▓рдм C ++ 11 рд╕реЗ C ++ 17 рддрдХ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ C ++ 20 рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрд▓рдмреНрдз рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдзреБрдирд┐рдХ C ++ рдХреБрдЫ рдФрд░ рд╣реИ, -std = c ++ 17 рдзреНрд╡рдЬ рдЬреЛрдбрд╝рдиреЗ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИред

рдЖрдзреБрдирд┐рдХ рдХрд╛ рдорддрд▓рдм рдХреНрдпрд╛ рд╣реИ?


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

[...]

2: рд╣рд╛рд▓ рдХреА рддрдХрдиреАрдХреЛрдВ, рд╡рд┐рдзрд┐рдпреЛрдВ, рдпрд╛ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛: (рдЕрдк-рдЯреВ-рдбреЗрдЯ) рд╕рдВрдЪрд╛рд░ рдХреЗ рдЖрдзреБрдирд┐рдХ рддрд░реАрдХреЗ

3 рдкреВрдВрдЬреАрдХреГрдд: рдХрд┐рд╕реА рднрд╛рд╖рд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреА рд╡рд░реНрддрдорд╛рди рдпрд╛ рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдЕрд╡рдзрд┐ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдпрд╛ рд╣реЛрдиреЗ рд╕реЗ - рдЖрдзреБрдирд┐рдХ рдЕрдВрдЧреНрд░реЗрдЬреА

[...]

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

рдХреЛрдИ рддрд░реНрдХ рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ C ++ 98 рдХреЗ рдмрд╛рдж рд╕реЗ рдореМрдЬреВрдж рдХреНрд╖рдорддрд╛рдПрдВ рдЖрдзреБрдирд┐рдХ C ++ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдореМрдЬреВрдж рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ "рдЖрдзреБрдирд┐рдХ C ++" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреЛрд▓рдиреЗ рдпрд╛ рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рдмрд╕реЗ рд╕рдХреНрд░рд┐рдп рд▓реЛрдЧ рдЕрдХреНрд╕рд░ рдЕрдЧреНрд░рдгреА рд╣реЛрддреЗ рд╣реИрдВред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧ, рдЕрдзреНрдпрдпрди, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ 90 рдХреЗ рджрд╢рдХ рд╕реЗ рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ "рд╕реА рдХреЗ рд╕рд╛рде рдХрдХреНрд╖рд╛рдПрдВ" рд╕рд┐рдЦрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдХрдИ рддрд░реАрдХреЛрдВ рдХреЛ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдЖрдзреБрдирд┐рдХ рд╕реА ++ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИрдВред

рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рд╕реЗ рдкрд░реЗ


C ++ 98 рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдореИрдВ "рдЖрдзреБрдирд┐рдХ C ++" рдХреА рд╢реНрд░реЗрдгреА рдореЗрдВ рдЖрддрд╛ рд╣реВрдБ? рдпрд╣рд╛рдВ рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдФрд░ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреА рдЖрдВрд╢рд┐рдХ рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ:

рдЖрд░рдП II


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

RAII рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдИ рдЪреАрдЬрд╝реЛрдВ рдХреЛ рдордЬрд╝рдмреВрддреА рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдореЗрдореЛрд░реА (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, std :: рд╡реЗрдХреНрдЯрд░, std :: string ), рдлрд╝рд╛рдЗрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ ( std :: fstream ), рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди, mutexes, рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди, рд╕рд╛рде рд╣реА рдРрд╕реА рдЗрдХрд╛рдЗрдпрд╛рдБред рджреВрд░ рд╕реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдХреБрдЫ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддрд░реАрдХреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рддрдм рдЗрд╕реЗ рд░рджреНрдж рдХрд░реЗрдВ рдЬрдм рдЖрдк рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддреЗ рд╣реИрдВ рдпрд╛ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЛ рдирд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ RAII рд╡рд╣ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

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

рдЖрд░рдПрдЖрдИ рддрдХрдиреАрдХ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдзреБрдирд┐рдХ рд╕реА ++ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╢реБрд░реВ рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИред

рдордЬрдмреВрдд рдЯрд╛рдЗрдкрд┐рдВрдЧ


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

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

* (рднрд▓реЗ рд╣реА рдЕрдореВрд░реНрдд рдХреА рд▓рд╛рдЧрдд рдЧреИрд░-рд╢реВрдиреНрдп рд╣реЛ, рд╕рд╛рдмрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЗрд╕реЗ рдЫреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ)

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

рд╕рдВрдХрд▓рди рдЪрд░рдг рдХрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ


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

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

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


рдЖрдзреБрдирд┐рдХ рд╕реА ++ рдирдП рдорд╛рдирдХреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╣рдо рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, C ++ 98 рдХреЛ рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рдЖрдзреБрдирд┐рдХ рд╢реИрд▓реА рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рджреВрд╕рд░реЗ, "рд╕реА рд╡рд┐рдж рдХреНрд▓рд╛рд╕реЗрд╕ рдПрдВрдб рд░реЗрдВрдЬ-рдмреЗрд╕реНрдб рдлреЙрд░ рд▓реВрдкреНрд╕" рдЕрднреА рддрдХ рдЖрдзреБрдирд┐рдХ рд╕реА ++ рдирд╣реАрдВ рд╣реИред рднрд╛рд╖рд╛ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣рдореЗрдВ рдЖрдзреБрдирд┐рдХ C ++ рдХреА рд╢реИрд▓реА рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рд╣рдорд╛рд░реЗ рдХреЛрдб рдХреЛ рдЖрдзреБрдирд┐рдХ C ++ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВред

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


All Articles