x + = x ++

рдореИрдВ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдЕрдиреБрд╡рд╛рдж рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред .NET # рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ .NET рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢реНрдиред

рдЕрдиреБрд╡рд╛рдж рдХреЗ рдЕрдВрдд рдореЗрдВ рдкреЛрд▓ред

рдЖрдЬ рдореИрдВрдиреЗ C # рднрд╛рд╖рд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдЖрдВрддрд░рд┐рдХ рд╕реВрдЪреА рдХреЛ рджреЗрдЦрд╛ред рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ "рдПрдХреНрд╕ + = рдПрдХреНрд╕ ++" рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдерд╛, рдЕрд░реНрдерд╛рддреН, рд╕рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╡рд╛рд▓ рджрд┐рд▓рдЪрд╕реНрдк рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рдмреНрд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╕рдорд░реНрдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдХрднреА рднреА SUCH CODE рдкрд░ рди рдЪрд▓реЗрдВред

рдареАрдХ рд╣реИ, рд╣рдо рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ...

рд╣рдо рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:

int x = 3; x += x++; 

рдХрдВрдкрд╛рдЗрд▓рд░ рдЬрдм рдкрд╣рд▓реА рдмрд╛рд░ рдХреЛрдб z + = y рджреЗрдЦрддрд╛ рд╣реИ рддреЛ рд╡рд╣ рдЗрд╕реЗ z = z + y рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╕рдВрдЪрд╛рд▓рдХ + =, - =, * =, / = рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рддреНрдп рд╣реИред

рдареАрдХ рд╣реИ, рдпрд╣ рдЖрд╕рд╛рди рдерд╛ред рдЕрдм, рд╣рдо рдЗрд╕ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдЕрд░реНрде рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 x = x + x++; 

рдпрд╣ рдХреЛрдб рдХреЛрдб рдХреЗ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ:

 x = x + x; 

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдХреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ:

 x = x++ + x; 

рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдХреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ:

 x = x + ++x; 

рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдЖрдкрдХреЛ рдкрд╛рдЧрд▓ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЬрдЧрд╣ рд╣реИред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдВ: x ++ рдФрд░ ++ x рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ? x ++ рд╡рд░реНрддрдорд╛рди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ x рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдПрдХ рд╕реЗ рдмрдврд╝рд╛рддрд╛ рд╣реИред ++ x рд╡реГрджреНрдзрд┐ x рдХреЛ рдПрдХ рд╕реЗ рдмрдврд╝рд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдмрдврд╝рд╛рдП рдЧрдП рдореВрд▓реНрдп рдХреЛ рд╡рд░реНрддрдорд╛рди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдКрдкрд░ рджрд┐рдП рдЧрдП (рдФрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ C # рдмрд╛рдПрдВ рд╕реЗ рджрд╛рдПрдВ рдХреА рдУрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ), рд╣рдо рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрд┐рдЫрд▓рд╛ рдХреЛрдб рдЙрд╕ рддрд░рд╣ рд╕реЗ рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

 int x = 3; x = x + x++; 

рд╕рдВрдХрд▓рдХ рдЗрд╕ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдЧрдгрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд░реЗрдЧрд╛:

  1. x = (x) + x ++ -> рдкрд╣рд▓рд╛ x рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдорд╛рди 3, x = 3 рд▓реМрдЯрд╛рддрд╛ рд╣реИ;
  2. x = 3 + (x) ++ -> x рдХреА рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╣реИ рдФрд░ 3, x = 3 рд▓реМрдЯрд╛рддрд╛ рд╣реИ;
  3. x = 3 + (x ++) -> x ++ рдорд╛рди 3 рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдФрд░ x рдПрдХ рд╕реЗ рдмрдврд╝рддрд╛ рд╣реИ, x = 4;
  4. x = (3 + 3) -> рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 3 + 3 рдХреА рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╣реИ рдФрд░ 6, x = 4 рд▓реМрдЯрд╛рддрд╛ рд╣реИ;
  5. (x = 6) -> x рдХреЛ рдорд╛рди 6 рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ (рдкрд┐рдЫрд▓реЗ рдореВрд▓реНрдп 4 рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдирд╛)ред

рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдРрд╕реЗ рдХреЛрдб рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реЛрдЧрд╛:

 int x = 3; x = x++ + x; 

  1. x = (x) ++ + x -> x рдХреА рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╣реИ рдФрд░ рдорд╛рди 3, x = 3 рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ;
  2. x = (x ++) + x -> x ++ рдорд╛рди 3 рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдФрд░ x рдПрдХ рд╕реЗ рдмрдврд╝рддрд╛ рд╣реИ, x = 4;
  3. x = 3 + (x) -> x рдХреА рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╣реИ рдФрд░ 4, x = 4 рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ;
  4. x = 3 + 4 -> рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 3 + 4 рдХреА рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╣реИ рдФрд░ 7, x = 4 рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ;
  5. (x = 7) -> x рдХреЛ рдорд╛рди 7 (рдкрд┐рдЫрд▓реЗ рдорд╛рди 4 рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд) рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред

рдЕрдм рдЗрд╕ рдХреЛрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

 int x = 3; x = x + ++x; 

  1. x = (x) + ++ x -> рдкрд╣рд▓рд╛ x рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдорд╛рди 3, x = 3 рд▓реМрдЯрд╛рддрд╛ рд╣реИ;
  2. x = 3 + (++ x) -> ++ x increments x рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХ рдХрд░рдХреЗ 4, x = 4 рд▓реМрдЯрд╛рддрд╛ рд╣реИ;
  3. x = 3 + (x) -> x рдХреА рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╣реИ рдФрд░ 4, x = 4 рд▓реМрдЯрд╛рддрд╛ рд╣реИ;
  4. x = 3 + 4 -> рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 3 + 4 рдХреЛ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ 7, x = 4 рд▓реМрдЯрд╛рддрд╛ рд╣реИ;
  5. (x = 7) -> x рдХреЛ рдорд╛рди 7 (рдкрд┐рдЫрд▓реЗ рдорд╛рди 4 рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд) рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЕрдм рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИред рд╡реИрд╕реЗ, рд╕реА ++ рдореЗрдВ рдРрд╕реА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИред

рддреЛ рд╣рдордиреЗ рдРрд╕реА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпреЛрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛? рд╣рдо рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рд╕рдВрдХрд▓рди рдХреЗ рд╕рдордп рдХреЛрдИ рдЪреЗрддрд╛рд╡рдиреА рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ?


рдХреНрдпрд╛ рдпрд╣ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдХреМрди рд╕рд╛ рд╕рд╣реА рд╣реИ? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдПрдХ рдХреЛрдб рдирд╣реАрдВ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ !

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


All Articles