{"id":4499,"date":"2022-01-22T11:56:11","date_gmt":"2022-01-22T02:56:11","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=4499"},"modified":"2022-01-22T13:57:27","modified_gmt":"2022-01-22T04:57:27","slug":"c-lvalue-rvalue","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=4499","title":{"rendered":"C++ lvalue rvalue"},"content":{"rendered":"<h1>C++ lvalue rvalue<\/h1>\n<p><a href=\"https:\/\/m.blog.naver.com\/nortul\/197601619\">\ucc38\uc870<\/a><\/p>\n<p>. . . . . . . . . . . . . . . . . . . . . . . . . . .<br \/>\n. . . . . . . . . . . . . . . . . . . . . . . . . . .<br \/>\n. . . . . . . . . . . . . . . . . . . . . . . . . . .<\/p>\n<h2>lvalue rvalue<\/h2>\n<pre><code class=\"language-c++\">\nint main()\n{\n    int x, y;\n\n    x = 0;         \/\/ x \ub294 lvalue, 0 \uc740 rvalue \uc785\ub2c8\ub2e4.\n    y = x + 1;     \/\/ y \ub294 lvalue, x+1 \uc740 rvalue \uc785\ub2c8\ub2e4.\n}<\/code><\/pre>\n<h2>reference \uc640 rvalue<\/h2>\n<ul>\n<li>\uc0c1\uc218\uc758 reference\ub97c \ub9cc\ub4e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/li>\n<li>\uc784\uc2dc\uac1d\uccb4\uc758 reference\ub97c \ub9cc\ub4e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/li>\n<li>\ub2e8, const reference\ub294 \uc0c1\uc218\ub098 \uc784\uc2dc\uac1d\uccb4\ub97c \uac00\ub974\ud0ac \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<pre><code class=\"language-c++\">struct X {\n    int member;\n};\n\nX foo() {\n    X x;\n    return x;  \/\/ \ud568\uc218\uac00 \uac1d\uccb4\ub97c \uac12\uc73c\ub85c \ub9ac\ud134\ud558\uba74 \uc784\uc2dc \uac1d\uccb4\uac00 \ub9ac\ud134\ub429\ub2c8\ub2e4.\n}\n\nint main() {\n    int n = 10;\n    int&amp; r1 = n;         \/\/ (A) ok.. n\uc740lvalue \uc785\ub2c8\ub2e4.\n    int&amp; r2 = n + 1;     \/\/ (B) error\n\n    int&amp; r3 = 5;         \/\/ (C) error. \uc0c1\uc218\n\n    X&amp;   r4 = foo();     \/\/ (D) error. \uc784\uc2dc\uac1d\uccb4\n    X&amp;   r5 = X();       \/\/ (E) error. \uc5ed\uc2dcX\uc758 \uc784\uc2dc\uac1d\uccb4\ub97c \ub9cc\ub4e4\uace0 \uc788\uc2b5\ub2c8\ub2e4.\n\n    const int&amp; r6 = 5;        \/\/ (F) ok. const &amp; \uc0c1\uc218\ub97c \uac00\ub9ac\ud0ac \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n    const X&amp;   r7 = foo();    \/\/ (G) ok. const &amp; \uc784\uc2dc \uac1d\uccb4 \ub97c \uac00\ub9ac\ud0ac \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n}<\/code><\/pre>\n<p>VC++2005\/2008\uc758 \uacbd\uc6b0\ub294 \uc790\uccb4\uc758 \ud655\uc7a5 \ubb38\ubc95 \ub54c\ubb38\uc5d0 (D), (E)\uac00 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<br \/>\n\ud558\uc9c0\ub9cc, ++ \ud45c\uc900\uc5d0 \uc758\ud558\uba74 \ubd84\uba85\uc774 \uc5d0\ub7ec\uc785\ub2c8\ub2e4.<\/p>\n<h2>reference of reference<\/h2>\n<p>\ucc38\uc870\uc758 \ucc38\uc870\ub97c \uc774\uc6a9\ud558\uba74 \uc624\ub958\ub97c \ud53c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-cpp\">test-&gt;SetTitle(QString(&quot;Hello, World!&quot;));        \/\/ error\n\nQString &amp;&amp; str = QString(&quot;Hello, World!&quot;);    \/\/ ok\ntest-&gt;SetTitle(str);<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>C++ lvalue rvalue \ucc38\uc870 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=4499\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37],"tags":[],"class_list":["post-4499","post","type-post","status-publish","format-standard","hentry","category-qt"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/4499","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4499"}],"version-history":[{"count":4,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/4499\/revisions"}],"predecessor-version":[{"id":4503,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/4499\/revisions\/4503"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4499"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4499"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4499"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}