C++/기타

[C++] Assignment Operator (ν• λ‹Ή μ—°μ‚°μž), =

Chan Lee 2023. 12. 6. 22:49

lhs = rhs

ν• λ‹Ή μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•˜λ©΄, rhs 값이 lhs에 μ €μž₯λ©λ‹ˆλ‹€. 

μˆ˜ν•™μ—μ„œμ˜ κ°œλ…μ²˜λŸΌ, '=' λŠ” μ’Œν•­κ³Ό μš°ν•­μ˜ 값이 λ™μΌν•˜λ‹€λŠ” μ˜λ―Έκ°€ μ•„λ‹™λ‹ˆλ‹€.

 

μ—¬κΈ°μ„œ rhs와 lhs의 λ³€μˆ˜ νƒ€μž…μ€ 동일해야 ν•©λ‹ˆλ‹€. (char 데이터λ₯Ό 숫자 λ³€μˆ˜μ— ν• λ‹Ήν•  μ‹œ, ASCII Code 값이 μ €μž₯λ©λ‹ˆλ‹€.)

λ˜ν•œ, ν•˜λ‚˜μ˜ statement둜 μ—¬λŸ¬κ°œμ˜ λ³€μˆ˜μ— λŒ€ν•œ 같은 κ°’μ˜ 할당을 μ²˜λ¦¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

* λ³€μˆ˜ μ΄ˆκΈ°ν™”μ™€λŠ” λ‹€λ₯Έ κ°œλ…μž…λ‹ˆλ‹€. 

int num1 {10};		// λ³€μˆ˜ μ„ μ–Έ 및 μ΄ˆκΈ°ν™”
float num2 = 30.51;	// λ³€μˆ˜ μ„ μ–Έ 및 μ΄ˆκΈ°ν™”

num1 = 30;		// ν• λ‹Ή μ—°μ‚°μžλ₯Ό ν†΅ν•œ κ°’ ν• λ‹Ή
num2 = 3.14;		// ν• λ‹Ή μ—°μ‚°μžλ₯Ό ν†΅ν•œ κ°’ ν• λ‹Ή

num1 = num2 = 500;	// 2개 μ΄μƒμ˜ λ³€μˆ˜ λ™μ‹œ ν• λ‹Ή

 

μƒμˆ˜μ— λŒ€ν•œ κ°’ 변경도 λ‹Ήμ—°νžˆ λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€.

const int num1 {20};

num1 = 500; 		// 🚫🚫🚫 Error 🚫🚫🚫