c++์—์„œ์˜ value

https://stackoverflow.com/questions/3601602/what-are-rvalues-lvalues-xvalues-glvalues-and-prvalues

image [What are rvalues, lvalues, xvalues, glvalues, and prvalues?In C++03, an expression is either an rvalue or an lvalue.

In C++11, an expression can be an:
rvalue lvalue xvalue glvalue prvalue Two categories have become five categories. What are these...stackoverflow.com](https://stackoverflow.com/questions/3601602/what-are-rvalues-lvalues-xvalues-glvalues-and-prvalues)

์Šคํƒ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ์˜ ๋ฌธ๋‹ต์„ ๋ฒˆ์—ญํ•ด๋ดค์Šต๋‹ˆ๋‹ค.


rvalues, lvalues, xvalues, glvalues, ๊ทธ๋ฆฌ๊ณ  prvalues๊ฐ€ ๋ญ”๊ฐ€์š”? C++03์—์„œ๋Š” rvalue์™€**lvalue **๋‘๊ฐ€์ง€๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  C++11์—์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ํ‘œํ˜„์ด ์ƒ๊ฒผ์ฃ .

  1. rvalue
  2. lvalue
  3. xvalue
  4. glvalue
  5. prvalue

๋‘๊ฐœ์˜ ํ‘œํ˜„์ดย ๋‹ค์„ฏ๊ฐœ๊ฐ€ ๋œ๊ฒ๋‹ˆ๋‹ค.

๋‹ต๋ณ€
๏ปฟ
n3055ย , ์ €๋Š” ์ด ๋ฌธ์„œ๊ฐ€ ๊ฒฐ์ฝ” ๊ฐ„๋‹จํ•˜๋‹ค๊ณ ๋Š” ํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค....

์ด ๋ชจ๋“  ํ˜ผ๋ž€์€ย ๋ฌด๋ธŒ ์‹œ๋งจํ‹ฑ(move semantics:์ด๋™ ์˜๋ฏธ๋ก )์œผ๋กœ๋ถ€ํ„ฐ ์‹œ์ž‘๋˜์—ˆ์ฃ . ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ์ด๋™์„ ํ•˜๋˜ ๋ณต์‚ฌ๋Š” ํ•˜์ง€ ์•Š๋Š” ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ๋“ค์„ ํ™•์‹คํžˆ ํ•ด์น˜์šฐ๊ธฐ ์œ„ํ•ด์„œ๋Š”ย ์ด๋™๋  ์ˆ˜ ์žˆ๋Š” ํ‘œํ˜„๋“ค ์‚ฌ์ด์˜ ํŠน๋ณ„ํ•œ ์ฐจ์ด๋‚˜ ๊ทœ์น™์„ ๋ถ™์žก์•„์•ผ๋งŒ ํ•˜๊ฒ ์ฃ .
์ดˆ๊ธฐ์˜ ๋ฒ„์ „์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ณด๋ฉด,ย r/l value๊ฐ„์˜ ์ฐจ์ด๋Š” ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค.ย ์ด๋™์˜ ๋ฌธ๋งฅ์— ๋”ฐ๋ผ์„œ ๋ณต์žกํ•ด์ง€๋Š” ๊ฑฐ์ฃ .
๊ทธ๋Ÿฐ๋ฐ ๊ณผ์—ฐ ์ด๊ฒƒ๋“ค์ด ํ•„์š”ํ•œ ๊ฑธ๊นŒ์š”? ์ด ๊ณจ์น˜์•„ํ”ˆ ์ƒˆ ๊ธฐ๋Šฅ๋“ค์„ ์—†์• ๋ฒ„๋ฆฌ๊ณ  ์‹ถ๊ธฐ๋„ ํ•  ๊ฒ๋‹ˆ๋‹ค.ย ํ•˜์ง€๋งŒ ๋” ๋‚˜์€ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ๋“ค์„ ๊ฐ์‹ธ์•ˆ์•„์•ผ ํ•  ๊ฑฐ์—์š”.
Quotingย n3055:

๊ทธ๋ฆฌ๊ณ  ์งˆ๋ฌธ์ž๋‹˜์ด ์ฒจ๋ถ€ํ•˜์‹  ๋ฌธ์„œ๋Š” ์ด ์งˆ๋ฌธ์— ๋Œ€ํ•œ ์•„์ฃผ ํ›Œ๋ฅญํ•œ ์ฐธ๊ณ ์ž๋ฃŒ๋ž๋‹ˆ๋‹ค.ย ํ‘œ์ค€์—์„œ ์ƒˆ๋กœ ๋“ฑ์žฅํ•œ ์šฉ์–ด๋“ค๊ณผ ๋ณ€ํ™”๋ฅผ ์•„์ฃผ ํ™•์‹คํ•˜๊ฒŒ ๋ณด์—ฌ์ฃผ๊ฑฐ๋“ ์š”.

๊ด€๊ณ„๋„