[C++] μΆκ°μ μΈ λ³μ μ μΈ μμ΄ κ° κ΅ννκΈ° (swap)
νλ‘κ·Έλλ°μ νλ€ λ³΄λ©΄ 2κ°μ λ³μμ λν΄μ μλ‘μ κ°μ κ΅νν΄μΌ νλ κ²½μ°κ° μμ΅λλ€.
swap ν¨μλ₯Ό μ°λ©΄ νΈνμ§λ§, μ§μ ν¨κ³Όλ₯Ό ꡬνν΄μΌ ν λλ (νΉμ?) μμ κ² μ λλ€.
κ°λ Ή a = 40, b = 30μΌ λ a = 30, b = 40μΌλ‘ λ§λλ κ²μ λλ€.
μ λ§ κ·Έλ°μ§ λͺ¨λ₯΄κ³μ§λ§, νμ 보쑰 λ³μλ₯Ό μ μΈν΄μ μ΄ λ°©λ²μ ν΄κ²°νμμ΅λλ€.
int n κ°μ λ³μμ a λ b μ€ νλλ₯Ό μ μ₯ν΄ λκ³ , μμ°¨μ μΌλ‘ λ°κΎΈλ κ²μ΄μ£ .
int a {40};
int b {30};
int n {};
n = a;
a = b;
b = n;
cout << a << endl; // 30
cout << b << endl; // 40
μ΄λ° μμΌλ‘μ.
μλ§ μ΅μνμ€ κ² κ°μ΅λλ€.
κ·Έλ°λ° μΈλ° μλ λ³μλ₯Ό λ§λ€μ§ μκ³ κ°λ₯ν κΈ°λ°ν λ°©λ²μ μ°Ύμμ κΈ°λ‘ν΄λ‘λλ€.
int n1{30};
int n2{40};
n1 = n1 + n2; // n1 = 30 + 40 = 70
n2 = n1 - n2; // n2 = 70 - 40 = 30
n1 = n1 - n2; // n1 = 70 - 30 = 40
cout << n1 << endl; // 40
cout << n2 << endl; // 30
μ΄λ κ² νλ©΄ μλ―Έμλ λ³μλ₯Ό μ μΈνμ§ μκ³ ν΄κ²°μ΄ λμ΅λλ€.
μ¬μ€ μμ£Ό κ°λ¨ν μμ΄λμ΄μΈλ° μ΄λ°κ² μ½κ² μκ°λμ§ μλ€μ..
μ΄λ°κ² λ°λ‘λ°λ‘ λ μ€λ₯Έλ€λ©΄ μ°Έ μ’μ κ² κ°μ΅λλ€.