рдПрд╕рдЯреАрдПрд▓ рд╢реИрд▓реА рдореЗрдВ рдмрд╛рдЗрдирд░реА рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ

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

рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдмрдпрд╛рди


рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд┐рдЦрд╛рдиреЗ рдореЗрдВ рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдПрдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╡рд┐рд╖рдп рд╣реИ - рдХрдо рд╕реЗ рдХрдо рд░реВрд╕ рдореЗрдВред рдЕрдВрддрд┐рдо рднреВрдорд┐рдХрд╛ рд░реВрд╕реА рд╕реНрдХреВрд▓реЛрдВ рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рдкрд╛рд╕реНрдХрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдирд┐рднрд╛рдИ рдЬрд╛рддреА рд╣реИ, рдЬреЛ рддрдерд╛рдХрдерд┐рдд рдЯрд╛рдЗрдк рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ ( file of integer рдХреА file of integer рдкреНрд░рдХрд╛рд░, file of real , рдЖрджрд┐) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд░реНрдерди рд╣реИред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ (рд╕реНрдХреВрд▓реА рдмрдЪреНрдЪреЛрдВ рдпрд╛ рдЬреВрдирд┐рдпрд░ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдХреЗ рдкрд╛рдареНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдЧрд╣рди рдЕрдзреНрдпрдпрди рдХреЗ рд╕рд╛рде), рдЬрдм рд╕реА ++ рднрд╛рд╖рд╛ рдХрд╛ рдЕрдзреНрдпрдпрди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рднрд╛рд╖рд╛ рдХреЗ рдирдП рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ "рдЯрд╛рдЗрдк рдЯреА рдХреА рдлрд╛рдЗрд▓реЗрдВ" рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╣реЛрддреА рд╣реИред рдФрд░ рдпрд╣рд╛рдВ рдпрд╣ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реЗ рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕реА ++ рднрд╛рд╖рд╛ рдореЗрдВ рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдирд┐рдореНрди-рд╕реНрддрд░ рдХреЗ рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ - рдорд╛рдирдХ istream / istream рд╕реНрдЯреНрд░реАрдо рдкреНрд░рдХрд╛рд░ рдХреЗ read / write рддрд░реАрдХреЗред рдЕрдиреНрдп рд╕реНрдкрд╖реНрдЯ рдХрдорд┐рдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рддрдереНрдп рдПрд╕рдЯреАрдПрд▓-рд╢реИрд▓реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ (рдпрд╛рдиреА, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдорд╛рдирдХ рд╕реА ++ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛) рдХрд╛ рдкреВрд░реНрдг рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рддреЛ, рдХрд╛рд░реНрдп рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдЯрд╛рдЗрдк T рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ, рдПрд╕рдЯреАрдПрд▓ ( vector<T> , рдЖрджрд┐) рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЗ рд╕рд╛рдеред T рдорддрд▓рдм рдЖрдзрд╛рд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рддрдерд╛рдХрдерд┐рдд POD рдкреНрд░рдХрд╛рд░реЛрдВ (рд╣рд░ рдЬрдЧрд╣ рдЖрдЧреЗ рдЖрдк рдХреЗрд╡рд▓ рдореВрд▓ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк POD рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ)ред

рд╕рдВрднрд╡ рд╕рдорд╛рдзрд╛рди


ios_base :: рдмрд╛рдЗрдирд░реА: рд╡рд┐рдлрд▓ # 0

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

рд╕реНрдереИрддрд┐рдХ рдмрд╣реБрд░реВрдкрддрд╛: рд╡рд┐рдлрд▓ # 1

рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЬреЛ рд▓реЛрдЧ рдорд╛рдирдХ рд╕реНрддрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдереЛрдбрд╝рд╛ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдпрд╛рдж рд╣реЛрдЧрд╛ рдХрд┐ рдореВрд▓ рдзрд╛рд░рд╛ / basic_ofstream / basic_ifstream рд╕реНрдкрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП basic_ofstream / basic_ifstream рдХреА рдлрд╛рдЗрд▓ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдкреНрд░рдХрд╛рд░ рд╕рдорд╛рдирд╛рд░реНрдереА рд╣реИрдВред рдЗрди рдЯреЗрдореНрдкреНрд▓реЗрдЯреНрд╕ рдореЗрдВ рджреЛ рд╕рдорд╛рди рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛрддреЗ рд╣реИрдВ: рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдЪрд░рд┐рддреНрд░ рдкреНрд░рдХрд╛рд░ (рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ Ch ) рдФрд░ рдЪрд░рд┐рддреНрд░ рдкреНрд░рдХрд╛рд░ рдЪрд░рд┐рддреНрд░ рдкреНрд░рдХрд╛рд░ - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ std::char_traits<Ch> ред ofstream / ifstream char рдкреНрд░рдХрд╛рд░ Ch рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рддреБрд░рдВрдд рдЗрди рдЯреЗрдореНрдкреНрд▓реЗрдЯреНрд╕ рдХреЛ рдЯрд╛рдЗрдк T рдЬреЛ рд╣рдо рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрд╕реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкреИрд░рд╛рдореАрдЯрд░ Ch рдХреЗ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдЙрдард╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдзрд╛рд░рд╛ рд╕реЗ bad_cast рдорд╛рди рдкрдврд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдХреЛрдб bad_cast рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде bad_cast ред рд╢рд╛рдпрдж char_traits<int> рд▓рд┐рдП рд╣рдорд╛рд░реА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдХреЛ рд▓рд┐рдЦрдиреЗ рдФрд░ рдлрд╝рд╛рдЗрд▓ рд╕реНрдЯреНрд░реАрдо рдХреНрд▓рд╛рд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рдХреБрдЫ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рддрд░реАрдХрд╛ char_traits рд▓рдЧ рд░рд╣рд╛ рдерд╛ (рдкреНрд░рддреНрдпреЗрдХ T рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ char_traits рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рд▓рд┐рдЦрдирд╛ ...) рдФрд░ рдореИрдВрдиреЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЙрд╕рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдирд┐рдкрдЯреЗрдВред

рдУрдУрдкреА рдФрд░ рдЧрддрд┐рд╢реАрд▓ рдмрд╣реБрд░реВрдкрддрд╛: рд╡рд┐рдлрд▓ # 2

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

рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рд╕реЗ, рдЙрдирдХреА рд╕реНрдЯреНрд░реАрдо рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП << рдФрд░ >> рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдЕрдзрд┐рднрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реНрдкрд╖реНрдЯ рдереАред рдпрд╣ рдХрд╛рдлреА рд▓рдЧ рд░рд╣рд╛ рдерд╛ред рд╕рдорд╕реНрдпрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реБрдИред рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдзрд╛рд░рд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, I / O рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрд╕рдЯреАрдПрд▓ рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЙрд╕рдХреЗ рдЙрдкрдХрд░рдг рд╕рднреА рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рд╣реИрдВ рдФрд░ рдореБрдЭреЗ рдЙрдореНрдореАрдж рдереА рдХрд┐ рдЬреИрд╕реЗ рд╣реА рдореЗрд░реА рд╕реНрдЯреНрд░реАрдо рдХреНрд▓рд╛рд╕ рдХреБрдЫ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреА рд╣реИ, рд╡рд╣ рдЦреБрд╢реА рдХреЗ рд╕рд╛рде рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧреА - рд╕реНрдереИрддрд┐рдХ рдмрд╣реБрд░реВрдкрддрд╛ ... рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рдЙрдореНрдореАрдж рдереА рдХрд┐ рдорд╛рдирдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рдкреНрд░рдХрд╛рд░ рджреНрд╡рд╛рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╡реЗ рдХрд┐рд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рд╡рд╣рд╛рдБ рдпрд╣ рдерд╛! рдорд╛рдирдХ basic_ofstream / basic_ifstream рдкреНрд░рдХрд╛рд░ basic_ofstream - рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рдЗрдЯреЗрдЯрд░ рдкреИрдЯрд░реНрди рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ basic_ifstream ред

рдЗрд╕ рдорд╛рд░реНрдЧ рдХреЗ рд╕рд╛рде рдореБрдХреНрддрд┐ рдХреА рдЙрдореНрдореАрдж рдмрдиреА рд╣реБрдИ рд╣реИ рдЕрдЧрд░ рд╣рдо рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрд░ рдзреНрдпрд╛рди рджреЗрддреЗ рд╣реИрдВ << рдФрд░ >> : рдмреБрдирд┐рдпрд╛рджреА рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рд╕реНрдЯреНрд░реАрдо рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЗ рд╕рджрд╕реНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрдиреНрд╣реЗрдВ рдЖрднрд╛рд╕реА рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдХреЛрдИ рдЧрддрд┐рд╢реАрд▓ рдмрд╣реБрд░реВрдкрддрд╛ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рдерд╛ (рдорд╛рдирдХ рдкреБрдирд░рд╛рд╡рд░реНрддрдХ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдореЗрд░реЗ рдкреНрд░рд╡рд╛рд╣ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВрдЧреЗ) - рдореВрд▓ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЖрдВрд╢рд┐рдХ рд╕рдорд╛рдзрд╛рди рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдХреЗрд╡рд▓ рдЖрдзрд╛рд░ рдкреНрд░рдХрд╛рд░ (рдЗрдВрдЯ, рдбрдмрд▓) рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдФрд░ рдПрдоред рдкреАред)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпреЗ рд╕рджрд╕реНрдп рдлрд╝рдВрдХреНрд╢рди рд╡рд░реНрдЪреБрдЕрд▓ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣рд╛рдВ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдпрд╛ рдЗрд╕рдХреЗ рдЕрднрд╛рд╡ рдХреЗ рддрд░реНрдХ рдкрд░ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ STL рдХреЗ рд▓рд┐рдП рдореВрд▓ рд░реВрдк рд╕реЗ OOP, рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдФрд░ рдмрд╣реБрд░реВрдкрддрд╛ рдХреА рд╕рднреА рд╢рдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдзрд╛рд░рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп OOP рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ ...), рд▓реЗрдХрд┐рди рдЪрд▓реЛ рдЕрдВрддрд┐рдо рд╕рдорд╛рдзрд╛рди рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред

рддрджрд░реНрде рдмрд╣реБрд░реВрдкрддрд╛ (рдЕрдзрд┐рднрд╛рд░): рдЬреАрдд


рдЕрдВрдд рдореЗрдВ, рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ << рдФрд░ >> рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╡рд┐рд╢реЗрд╖ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдирд┐рдореНрди рд╕реНрддрд░ рдХреЗ рдХрд╛рдо рдХреЛ read / write рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдЫрд┐рдкрд╛рдПрдЧрд╛ред рдпрд╣ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдкрдиреЗ рдЕрдзрд┐рднрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рддрд░реНрдХреЛрдВ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдЕрдм рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рдирд╣реАрдВ рд╣реИрдВ - рдпрд╣ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред рдпрд╣ "рд░реИрдкрд░" рдХрд╣реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ T рд▓рд┐рдП рдирдП рд░реИрдкрд░ рдХрдХреНрд╖рд╛рдПрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ: рд╣рдо рдЦреБрдж рдХреЛ рдПрдХ рд╡рд░реНрдЧ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЯрд╛рдЗрдк рдкреИрд░рд╛рдореАрдЯрд░ T рдПрдХ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ - рдирд┐рд░рдВрддрд░ рдФрд░ рдЧреИрд░-рд╕реНрдерд┐рд░ред рдЯрд╛рдЗрдк T рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд╛рд▓рд╛ рдПрдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░, рдЬрд┐рд╕реЗ explicit рдШреЛрд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЯрд╛рдЗрдк T рдорд╛рдиреЛрдВ рдХреЛ рдПрдХ рд░реИрдкрд░ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдирд┐рд░реНрдорд╛рддрд╛ рдПрдХ рдПрд╕рдЯреАрдПрд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдореА рдХреЛрдб рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
 #include <iostream> using std::istream; using std::ostream; template<typename T> class wrap { T t; public: wrap() : t() {} wrap(T const & t) : t(t) {} operator T&() { return t; } operator T const &() const { return t; } }; template<typename T> istream & operator>>(istream & is, wrap<T> & wt) { is.read(reinterpret_cast<char *>(&static_cast<T &>(wt)), sizeof(T)); return is; } template<typename T> ostream & operator<<(ostream & os, wrap<T> const & wt) { os.write( reinterpret_cast<char const *>(&static_cast<T const &>(wt)), sizeof(T)); return os; } 

static_cast рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рд╕реВрдЪрдирд╛ рдлрд╝реАрд▓реНрдб рдХрд╛ рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдмреЙрдбреА рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЯрд╛рдЗрдк-рдХрд╛рд╕реНрдЯ рдСрдкрд░реЗрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЗрд╕ рдлрд╝реАрд▓реНрдб рдХрд╛ рдкрддрд╛ reinterpret_cast write / read рд╕рд╛рде рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдлрд╝реАрд▓реНрдб reinterpret_cast рдкрддреЗ рдХреЛ reinterpret_cast рд╕реЗ рдЯрд╛рдЗрдк рдХрд░рдирд╛ рд╣реИред

рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рдПрдХ рдЖрд╡рд░рдг рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЙрди рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреА рдЫрд╛рдк рдХреЛ рд╕рд╣рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╢реБрд░реВ рдореЗрдВ рдПрд╕рдЯреАрдПрд▓ рдХреА рд╢реИрд▓реА рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдирд╛рдо рдкрд░ рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛ред
 #include <algorithm> #include <fstream> #include <functional> #include <iostream> #include <iterator> #include <numeric> #include <cassert> int main() { int arr[] = {1, 1, 2, 3, 5, 8}; //  std::ofstream out("f.dat"); std::copy(arr, arr + 6, std::ostream_iterator< wrap<int> >(out)); out.close(); // : ,       std::ifstream in("f.dat"); assert( std::inner_product( std::istream_iterator< wrap<int> >(in), std::istream_iterator< wrap<int> >(), arr, true, std::equal_to<int>(), std::logical_and<bool>()) ); } 

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


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

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

рд╕рдорд╕реНрдпрд╛ рдФрд░ рд╕рдорд╛рдзрд╛рди рдХреА рдЪрд░реНрдЪрд╛ рдХреЗ рдмрдпрд╛рди рдХреЗ рд▓рд┐рдП, рдореИрдВ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рд╡рд┐рдЯрд╛рд▓реА рдирд┐рдХреЛрд▓рд╛рдпреЗрд╡рд┐рдЪ рдмреНрд░рд┐рдЧрд┐рд▓реЗрд╡реНрд╕реНрдХреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж рдХрд░рддрд╛ рд╣реВрдВред

UPD1 : рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреВрдЫрд╛ рдХрд┐ рдЯрд╛рдЗрдк рд░реВрдкрд╛рдВрддрд░рдгреЛрдВ рдХреЗ рдмрдЬрд╛рдп, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рджрд╕реНрдп рдХрд╛рд░реНрдп рдХреНрдпреЛрдВ рд▓рд┐рдЦреЗрдВред рд░реВрдкрд╛рдВрддрд░рдг рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреИрд╕реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  std::ifstream in("f.dat"); int arr2[6]; std::copy(std::istream_iterator< wrap<int> >(in), std::istream_iterator< wrap<int> >(), arr2); 

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


All Articles