<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>In search of wonder</title>
		<link>http://wonderfuldream.tistory.com/</link>
		<description></description>
		<language>ko</language>
		<pubDate>Sun, 01 Jan 2012 13:40:47 +1100</pubDate>
		<generator>Tistory 1.1 (http://www.tistory.com/)</generator>
		<managingEditor>꿈찾아고고씽</managingEditor>
		<image>
		<title>In search of wonder</title>
		<url><![CDATA[http://cfs13.tistory.com/upload_control/download.blog?fhandle=YmxvZzI2Mjk3NEBmczEzLnRpc3RvcnkuY29tOi9hdHRhY2gvMC82LmpwZw%3D%3D]]></url>
		<link>http://wonderfuldream.tistory.com/</link>
		<description></description>
		</image>
		<item>
			<title>굿바이 티스토리</title>
			<link>http://wonderfuldream.tistory.com/351</link>
			<description>&lt;p&gt;&lt;a href=&quot;http://sydlife.wordpress.com&quot; target=&quot;_blank&quot; title=&quot;[http://sydlife.wordpress.com]로 이동합니다.&quot;&gt;&lt;font color=&quot;#3058d2&quot;&gt;새로운 블로그&lt;/font&gt;&lt;/a&gt;로 이사갑니다.&lt;/p&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-351-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-351-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-351-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.png&quot; alt=&quot;변경 금지&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;tt-plugin ttShareEntryWithSNS tt-sns-icon-alignment-center tt-sns-icon-size-small&quot;&gt;
	&lt;button class=&quot;ttShareEntryWithYozm&quot; id=&quot;ttServiceYozm_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;yozm&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;요즘에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithTwitter&quot; id=&quot;ttServiceTwitter_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;twitter&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;트위터에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithFacebook&quot; id=&quot;ttServiceFacebook_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;facebook&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;페이스북에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithMe2day&quot; id=&quot;ttServiceMe2day_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;me2day&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;미투데이에 보내기&lt;/span&gt;&lt;/button&gt;
&lt;/div&gt;
</description>
			<category>라이프로그</category>
			<author>In search of dream 꿈찾아고고씽</author>
			<guid>http://wonderfuldream.tistory.com/351</guid>
			<comments>http://wonderfuldream.tistory.com/351#entry351comment</comments>
			<pubDate>Thu, 29 Dec 2011 22:43:16 +1100</pubDate>
		</item>
		<item>
			<title>Parody Terrorist Interview - Are Those Subtitles??</title>
			<link>http://wonderfuldream.tistory.com/349</link>
			<description>&lt;p&gt;ㅋㅋㅋㅋㅋㅋ&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;object width=&quot;480&quot; height=&quot;360&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/3AgmUTTZ27k?version=3&amp;amp;hl=en_US&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/3AgmUTTZ27k?version=3&amp;amp;hl=en_US&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;480&quot; height=&quot;360&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;/p&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-349-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-349-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-349-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.png&quot; alt=&quot;변경 금지&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;tt-plugin ttShareEntryWithSNS tt-sns-icon-alignment-center tt-sns-icon-size-small&quot;&gt;
	&lt;button class=&quot;ttShareEntryWithYozm&quot; id=&quot;ttServiceYozm_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;yozm&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;요즘에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithTwitter&quot; id=&quot;ttServiceTwitter_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;twitter&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;트위터에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithFacebook&quot; id=&quot;ttServiceFacebook_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;facebook&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;페이스북에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithMe2day&quot; id=&quot;ttServiceMe2day_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;me2day&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;미투데이에 보내기&lt;/span&gt;&lt;/button&gt;
&lt;/div&gt;
</description>
			<category>라이프로그</category>
			<category>Funny</category>
			<category>YouTube</category>
			<author>In search of dream 꿈찾아고고씽</author>
			<guid>http://wonderfuldream.tistory.com/349</guid>
			<comments>http://wonderfuldream.tistory.com/349#entry349comment</comments>
			<pubDate>Mon, 26 Dec 2011 11:21:24 +1100</pubDate>
		</item>
		<item>
			<title>매쉬업 장난감 - NSW Crime news</title>
			<link>http://wonderfuldream.tistory.com/350</link>
			<description>&lt;p&gt;&lt;b&gt;토픽&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;New South Wales의 범죄현황 리포트를 Google Maps 에 매쉬업해주는 장난감을 한번 만들어 봤습니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;개발툴&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;- Eclipse&lt;/p&gt;
&lt;p&gt;- Python 2.6&lt;/p&gt;
&lt;p&gt;- Google Maps API ver 3&lt;/p&gt;
&lt;p&gt;- Javascript&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;스크린 샷&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile28.uf.tistory.com/original/175704374EF5849810368C&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile28.uf.tistory.com/image/175704374EF5849810368C&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;screenshot.png&quot; height=&quot;514&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;접속 URL&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://nswcrime.alwaysdata.net/crimewatch/crimenews.html&quot;&gt;http://nswcrime.alwaysdata.net/crimewatch/crimenews.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;무료 웹 호스팅하는 곳인데, &lt;strike&gt;계약 위반으로 언제 짤릴지 모른다는&lt;/strike&gt;...ㅠㅠ 얼렁 괜찮은 유료 서비스 하나 가입하겠네요. 지도 데이터는 1시간마다 업데이트 됩니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;b&gt;후기&lt;/b&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;자바스크립트가 생각보다 강력한 언어라는 생각이 들었습니다. 십 몇년 전에 갖고 놀던 그 언어가 아닌 듯 합니다. @.@ 구글 맵스 팀이 왜 자바스크립트를 선택했는지 이제 좀 이해가 갈락 말락.&lt;/p&gt;
&lt;p&gt;파이썬은 역시 이런 초간단/초스피드 어플리케이션 개발에 쵝오.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Further works&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;코드 정리좀 해서 웹에도 올리고, 기회가 되면 안드로이드 플랫폼으로 포팅도 한번 해봐야 겠습니다.&lt;/p&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-350-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-350-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-350-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.png&quot; alt=&quot;변경 금지&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;tt-plugin ttShareEntryWithSNS tt-sns-icon-alignment-center tt-sns-icon-size-small&quot;&gt;
	&lt;button class=&quot;ttShareEntryWithYozm&quot; id=&quot;ttServiceYozm_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;yozm&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;요즘에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithTwitter&quot; id=&quot;ttServiceTwitter_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;twitter&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;트위터에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithFacebook&quot; id=&quot;ttServiceFacebook_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;facebook&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;페이스북에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithMe2day&quot; id=&quot;ttServiceMe2day_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;me2day&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;미투데이에 보내기&lt;/span&gt;&lt;/button&gt;
&lt;/div&gt;
</description>
			<category>프로그래밍</category>
			<category>Crime</category>
			<category>Google Maps</category>
			<category>NSW</category>
			<author>In search of dream 꿈찾아고고씽</author>
			<guid>http://wonderfuldream.tistory.com/350</guid>
			<comments>http://wonderfuldream.tistory.com/350#entry350comment</comments>
			<pubDate>Sat, 24 Dec 2011 19:06:51 +1100</pubDate>
		</item>
		<item>
			<title>C++11 스터디 노트 (14/n) - move semantics (3)</title>
			<link>http://wonderfuldream.tistory.com/348</link>
			<description>&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;﻿&lt;/span&gt;&lt;font face=&quot;Dotum&quot;&gt;이번 포스트에서는 Perfect forwarding 에 대해 알아봅시다.&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;우리말로는 완전 포워딩? 완벽 포워딩 이정도 되겠습니다만, 한글로 번역하니 역시 어색한 감이 있네요.&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;C++ Forwarding Problem&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;일단 아래 코드를 보시죠.&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;font-family: 돋움체; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a082bd;&quot;&gt;#include&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;void&lt;/span&gt; Foo&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&lt;/span&gt; i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;cout&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;Passed value: &quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;endl&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;void&lt;/span&gt; ForwardThis&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&lt;/span&gt; i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Foo&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; main&lt;span style=&quot;color: #e8e2b7;&quot;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; a &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ForwardThis&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;a&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;실행 결과는 아래와 같습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;b&gt;Passed value: 1&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
&lt;font face=&quot;Dotum&quot;&gt;&lt;b&gt;
&lt;p&gt;계속하려면 아무 키나 누르십시오 . . .&lt;/p&gt;
&lt;/b&gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;아무런 문제없이 실행됩니다.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;main 함수 내부 코드를 보면 라인 16에서 ForwardThis 라는 함수를 호출하고 a 라는 변수를 넘겨주고 &amp;nbsp;있습니다.&amp;nbsp;&lt;/font&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;a 라는 변수는 1이라는 상수값(r-value)을 가지고 있는 L-Value 입니다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;따라서 ForwardThis 라는 함수가 받아야 할 파라미터 형식인 레퍼런스 타입의 정수형으로 변환될 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;C++ 11 표준 어법으로 좀 더 정확히 말해봅시다.&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;ForwardThis 함수가 받아야할 파라미터 형식은 L-Value 레퍼런스 타입입니다.&amp;nbsp;&lt;/font&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;a는 lvalue 이므로 당연히 ForwardThis 함수에 파라미터로 넘겨줄 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;이제 main 함수 내부에 한줄 추가해봅시다. (라인 17 입니다)&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;font-family: 돋움체; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; main&lt;span style=&quot;color: #e8e2b7;&quot;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; a &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ForwardThis&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;a&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ForwardThis&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ffcd22;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;19&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;의미상으로 볼 땐 같습니다. 16f라인에서는 a 라는 변수(L-Value) 를 통해 1을 넘겨주고 있지만, 17라인에서는 바로 1 (R-Value) 을 넘겨주고 있습니다.&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;위 코드는 컴파일러에서 다음과 같은 에러를 냅니다.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;b style=&quot;font-family: Dotum; &quot;&gt;error C2664: &#039;ForwardThis&#039; : cannot convert parameter 1 from &#039;int&#039; to &#039;int &amp;amp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;int 를 int&amp;amp; 로 바꿀 수 없다는 불평을 하고 있습니다.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;R-Value Reference 관련 포스트에서 언급한 대로 L-Value 레퍼런스는 그 우측값으로 L-Value 만 받을 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;1은 L-Value 가 아닌 R-Value 입니다. 그렇기 때문에 컴파일러는 에러를 내는 겁니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;함수 오버로딩을 이용한 Forwarding 문제 해결&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;이 문제를 해결하기 위해서는, ForwardThis 함수와 Foo 함수의 시그내쳐를 변경해서 overload 된 함수를 제공해주면 됩니다. 아래처럼요.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;div style=&quot;font-family: 돋움체; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a082bd;&quot;&gt;#include&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;void&lt;/span&gt; Foo&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&lt;/span&gt; i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;cout&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;Passed value: &quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;endl&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;void&lt;/span&gt; Foo&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&lt;/span&gt; i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;cout&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;Passed value: &quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;endl&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;void&lt;/span&gt; ForwardThis&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&lt;/span&gt; i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Foo&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;void&lt;/span&gt; ForwardThis&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&lt;/span&gt; i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Foo&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;19&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; main&lt;span style=&quot;color: #e8e2b7;&quot;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;21&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; a &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;color: #66747b;&quot;&gt;//ok&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;22&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ForwardThis&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;a&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;color: #66747b;&quot;&gt;//ok&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;23&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ForwardThis&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ffcd22;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt; &lt;span style=&quot;color: #66747b;&quot;&gt;//ok&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;24&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;25&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;실행결과입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;b&gt;Passed value: 1&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;b&gt;Passed value: 1&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;b&gt;계속하려면 아무 키나 누르십시오 . . .&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;이제는 에러가 없네요. 근데,&amp;nbsp;&lt;/font&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;왜 에러가 없죠? ^^&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;ForwardThis(a); 를 호출한 라인 22는 라인 10과 2의 함수들을 호출하지만, ForwardThis(1); 은 라인 14 와 6의 함수를 호출하기 때문입니다.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;정수형 타입의 a 변수에 1을 저장해서 넘겨주는 것과 1을 바로 넘겨주는 것.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;어차피 같은 거 아닐까요? 의미상으론 같지만, 컴파일러 내부적으로는 엄격하게 L-Value 와 R-Value, 정확히 말하면, 해당 expression의 constness 를 체크하고 있었던 것입니다.&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;그냥 이렇게 쓰면 되는거 아닌가요? 그때 그때 필요한 파라미터 타입을 오버로딩해서 쓰면 되잖아요?&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;맞습니다. 그래도 됩니다.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;하지만, 함수 파라미터가 하나가 아니라면 어떨까요? 두 개라면? 세 개라면? &amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;게다가 함수 호출하는 부분에서 ForwardThis(1,a,3,...) &amp;nbsp;이런 식으로 호출한다면요?&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;가능한 조합을 남김없이 찾아내서 하나 하나, 꼼꼼하게, 디테일하게, 오버로딩 해줘야 됩니다.&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;생각만해도 끔찍하지 않습니까?&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&quot;난 단지 파라미터를 포워딩해주고 싶었을 뿐이라고요&quot;&amp;nbsp;&lt;/font&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;라고 컴파일러에게 항변하고 싶지만, C++의 현재 구현으로는 간단히 해결할 수 없는, 이런 문제가 있었던 겁니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;R-Value Reference를 이용한 Perfect Forwarding&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;이제 C++11에서 새롭게 도입된 rvalue reference 를 이용해 문제를 좀더 간단히 해결할 수 있게 되었습니다.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;바로 ForwardThis 함수의 파라미터 타입을 L-Value 레퍼런스인 int&amp;amp; 에서 R-Value 레퍼런스인 int&amp;amp;&amp;amp; 로 바꿔주기만 하면 &amp;nbsp;됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;div style=&quot;font-family: 돋움체; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;font face=&quot;Dotum&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;46&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;void&lt;/span&gt; ForwardThis&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;47&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;48&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Foo&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;49&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;50&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;font face=&quot;Dotum&quot;&gt;
&lt;/font&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;어떻게 이게 가능할까요.&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;C++11이 나오기 전에는, 레퍼런스 변수에 대해 다시 레퍼런스 변수로 지정하는 것은 에러였습니다.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;그러나, C++11 에서는 다음과 같은&amp;nbsp;&lt;/font&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;Reference Collapsing Rule&lt;/span&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&amp;nbsp;을 도입했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; &quot;&gt;
&lt;li&gt;&lt;font face=&quot;Dotum&quot;&gt;T&amp;amp;의 &amp;amp; &amp;nbsp; &amp;nbsp; ==&amp;gt; T&amp;amp; &amp;nbsp; &amp;nbsp;(L-Value 레퍼런스의 L-Value 레퍼런스는 L-Value 레퍼런스)&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font face=&quot;Dotum&quot;&gt;T&amp;amp;의 &amp;amp;&amp;amp; &amp;nbsp; ==&amp;gt; T&amp;amp;&amp;nbsp;&lt;/font&gt;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;font-family: Dotum; &quot;&gt;(L-Value 레퍼런스의 R-Value 레퍼런스는 L-Value 레퍼런스)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;font face=&quot;Dotum&quot;&gt;T&amp;amp;&amp;amp;의 &amp;amp; &amp;nbsp; ==&amp;gt; T&amp;amp;&amp;nbsp;&lt;/font&gt;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;font-family: Dotum; &quot;&gt;(R-Value 레퍼런스의 L-Value 레퍼런스는 L-Value 레퍼런스)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;font face=&quot;Dotum&quot;&gt;T&amp;amp;&amp;amp;의 &amp;amp;&amp;amp; ==&amp;gt; T&amp;amp;&amp;amp;&amp;nbsp;&lt;/font&gt;
&lt;span style=&quot;font-family: Dotum; &quot;&gt;(R-Value 레퍼런스의 R-Value 레퍼런스는 R-Value 레퍼런스)&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;따라서,&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;1. ForwardThis(int&amp;amp;&amp;amp; i) 함수가 L-Value 타입의 인자 i에 대해 호출되면, 위의 룰 # 2에 의해 i는 L-Value 로 추론됩니다.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;2. ForwardThis(int&amp;amp;&amp;amp; i) 함수가 R-Value 타입의 인자 i에 대해 호출되면, i는 자연스럽게 R-Value 로 추론됩니다.&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;좀 복잡하긴 한데, 일단 이렇게 이해하고 넘어가야겠습니다. 저도 @.@&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;그런데, 여기서 VS2010 베타버전을 사용하시는 분들이 잠깐 알아두셔야 할 게 있습니다.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;C++11 으로 확정되기 전, C++0x 표준에서는 위의 main 함수내 코드를 하나도 바꾸지 않아도 됬었습니다.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;따라서, C++0x 표준을 준수한 Visual Studio 2010 Beta 버전에서는 아래코드가 아무 이상없이 동작했습니다.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;div style=&quot;font-family: 돋움체; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;font face=&quot;Dotum&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a082bd;&quot;&gt;#include&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;void&lt;/span&gt; Foo&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&lt;/span&gt; i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;cout&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;Passed value: &quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;endl&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;void&lt;/span&gt; Foo&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&lt;/span&gt; i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;cout&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;Passed value: &quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;endl&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #66747b;&quot;&gt;//void ForwardThis(int&amp;amp; i)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #66747b;&quot;&gt;//{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #66747b;&quot;&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; Foo(i);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #66747b;&quot;&gt;//}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #66747b;&quot;&gt;//void ForwardThis(const int&amp;amp; i)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #66747b;&quot;&gt;//{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #66747b;&quot;&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; Foo(i);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #66747b;&quot;&gt;//}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;19&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;void&lt;/span&gt; ForwardThis&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;21&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Foo&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;22&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;23&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;24&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; main&lt;span style=&quot;color: #e8e2b7;&quot;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;25&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;26&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; a &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;color: #66747b;&quot;&gt;//ok&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;27&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ForwardThis&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;a&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;color: #66747b;&quot;&gt;//error C2664&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;28&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ForwardThis&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ffcd22;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt; &lt;span style=&quot;color: #66747b;&quot;&gt;//ok&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;29&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;30&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;font face=&quot;Dotum&quot;&gt;
&lt;/font&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;하지만, C++11 로 확정되면서 R-Value 레퍼런스와 관련된 작은 변화가 있었고, C++11 표준을 따른 VS2010 정식 버전에서는, 위의 27 라인에서 아래과 같은 컴파일 에러가 납니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;b&gt;error C2664: &#039;ForwardThis&#039; : cannot convert parameter 1 from &#039;int&#039; to &#039;int &amp;amp;&amp;amp;&#039;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;이 컴파일 에러를 해결하기 위해서는 std::move 함수를 사용해야 합니다.&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;b&gt;ForwardThis(a);&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;라인을&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;b&gt;ForwardThis(std::move(a));&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;로 바꿔주면 컴파일 에러는 해결됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;std::move&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;위에서 언급된 std::move 함수에 대해 짤막하게 짚고 넘어갑시다.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;std::move는 C++11 에서 새롭게 도입된 함수입니다. move semantics를 지원하기 위해 등장했고,&amp;nbsp;&lt;/font&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;파라미터로 받는 객체의 내용을 전달해줄 함수로 &lt;b&gt;복사가 아닌 이동!&lt;/b&gt;시켜주기 위한 함수입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;이를 위해 std::move는 인자로 받은 변수를 rvalue로 바꿔줍니다.&amp;nbsp;&lt;/font&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;함수 내부를 보면 단지 R-Value 로 static type cast 하도록 구현 되어있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;이 함수는&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;utility 헤더에 정의되있습니다.&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-348-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-348-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-348-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.png&quot; alt=&quot;변경 금지&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;tt-plugin ttShareEntryWithSNS tt-sns-icon-alignment-center tt-sns-icon-size-small&quot;&gt;
	&lt;button class=&quot;ttShareEntryWithYozm&quot; id=&quot;ttServiceYozm_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;yozm&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;요즘에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithTwitter&quot; id=&quot;ttServiceTwitter_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;twitter&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;트위터에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithFacebook&quot; id=&quot;ttServiceFacebook_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;facebook&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;페이스북에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithMe2day&quot; id=&quot;ttServiceMe2day_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;me2day&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;미투데이에 보내기&lt;/span&gt;&lt;/button&gt;
&lt;/div&gt;
</description>
			<category>프로그래밍</category>
			<category>C++</category>
			<category>C++11</category>
			<author>In search of dream 꿈찾아고고씽</author>
			<guid>http://wonderfuldream.tistory.com/348</guid>
			<comments>http://wonderfuldream.tistory.com/348#entry348comment</comments>
			<pubDate>Thu, 22 Dec 2011 12:22:36 +1100</pubDate>
		</item>
		<item>
			<title>C++11 스터디 노트 (13/n) - move semantics (2)</title>
			<link>http://wonderfuldream.tistory.com/347</link>
			<description>&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;이번에는 C++11 의 move 생성자와 move 할당연산자에 대해 알아봅시다.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;C++11 에서는 move 생성자와 move 할당 연산자를 제공합니다.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;move 생성자와 move 할당 연산자의 원리는 Copy 생성자와 copy 할당연산자의 원리와 유사합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;자신과 동일한 타입의 객체를 인자로 받아서 새롭게 생성한 인스턴스에 그 내용을 이전합니다.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;다만 차이점은 Copy 의 경우 멤버변수를 위한 메모리를 할당했어야 했는데, move 에서는 그걸 하지 않아도 된다는 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;Copy constructor&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;먼저 C++11 이 나오기 전에 하던대로 해봅시다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;간단히 배열을 제공하는 클래스의 예입니다. 복사생성자만 제공해줬습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div style=&quot;font-family: 돋움체; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;class&lt;/span&gt; MyArray&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyArray&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;:&lt;/span&gt; m_pArr&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;[&lt;/span&gt;size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;]),&lt;/span&gt; m_size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;{}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyArray&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;const&lt;/span&gt; MyArray&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&lt;/span&gt; other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;:&lt;/span&gt; m_pArr&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;[&lt;/span&gt;other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;.&lt;/span&gt;m_size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;]),&lt;/span&gt; m_size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;.&lt;/span&gt;m_size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; i &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt; i &lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&lt;/span&gt; m_size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt; i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;++)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m_pArr&lt;span style=&quot;color: #e8e2b7;&quot;&gt;[&lt;/span&gt;i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;]&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;.&lt;/span&gt;m_pArr&lt;span style=&quot;color: #e8e2b7;&quot;&gt;[&lt;/span&gt;i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;];&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;~&lt;/span&gt;MyArray&lt;span style=&quot;color: #e8e2b7;&quot;&gt;()&lt;/span&gt; &lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt; &lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;delete&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;[]&lt;/span&gt; m_pArr&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;19&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;private&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;21&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;*&lt;/span&gt; m_pArr&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;22&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; m_size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;23&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;24&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;};&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;25&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;

&lt;font face=&quot;Dotum&quot;&gt;&lt;div&gt;
&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
역시 복사 생성자 내부에서 새롭게 메모리를 할당한 후, 멤버 간의 복사가 이루어지고 있습니다.&amp;nbsp;&lt;/font&gt;&lt;div&gt;
&lt;font face=&quot;Dotum&quot;&gt;별 무리 없는 클래스입니다.&lt;br /&gt;
&lt;/font&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;Move constructor&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;위의 클래스를 C++11 에서 지원하는 move 생성자(내부적으로 r-Value 레퍼런스를 이용한) 를 이용하여 내부적으로 복사없이, 인스턴스의 리소스 소유권 이전을 간단하게 해결할 수 있습니다. move 생성자를 추가한 아래 코드를 보세요.&lt;/font&gt;&lt;/p&gt;
&lt;div style=&quot;font-family: 돋움체; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a082bd;&quot;&gt;#include&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;class&lt;/span&gt; MyArray&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyArray&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;:&lt;/span&gt; m_pArr&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;[&lt;/span&gt;size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;]),&lt;/span&gt; m_size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt; &lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; i &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt; i &lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&lt;/span&gt; m_size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt; i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;++)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m_pArr&lt;span style=&quot;color: #e8e2b7;&quot;&gt;[&lt;/span&gt;i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;]&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//Copy constructor&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyArray&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;const&lt;/span&gt; MyArray&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&lt;/span&gt; other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;:&lt;/span&gt; m_pArr&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;[&lt;/span&gt;other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;.&lt;/span&gt;m_size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;]),&lt;/span&gt; m_size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;.&lt;/span&gt;m_size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; i &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt; i &lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&lt;/span&gt; m_size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt; i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;++)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m_pArr&lt;span style=&quot;color: #e8e2b7;&quot;&gt;[&lt;/span&gt;i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;]&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;.&lt;/span&gt;m_pArr&lt;span style=&quot;color: #e8e2b7;&quot;&gt;[&lt;/span&gt;i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;];&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//Move constructor&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;19&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyArray&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;MyArray&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;:&lt;/span&gt; m_pArr&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;.&lt;/span&gt;m_pArr&lt;span style=&quot;color: #e8e2b7;&quot;&gt;),&lt;/span&gt; m_size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;.&lt;/span&gt;m_size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;21&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;.&lt;/span&gt;m_pArr &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; NULL&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;22&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;23&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;~&lt;/span&gt;MyArray&lt;span style=&quot;color: #e8e2b7;&quot;&gt;()&lt;/span&gt; &lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;24&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt; &lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;25&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;delete&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;[]&lt;/span&gt; m_pArr&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;26&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;27&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;28&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;29&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;private&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;30&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;*&lt;/span&gt; m_pArr&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;31&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; m_size&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;32&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;33&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;};&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;move 생성자는 훨씬&lt;/font&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&amp;nbsp;간단하네요. 새롭게 메모리를 할당할 필요도 없고요.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;우리가 move 생성자에서 눈여겨 봐야 할 것이 두 가지 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;b&gt;1. 바디 내에서 other.m_pArr 을 NULL 로 셋팅하고 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;b&gt;2. 파라미터가 const 타입이 아닙니다.&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;먼저 첫번째로 other.m_pArr 을 NULL 로 셋팅하는 이유를 봅시다. other 객체도 언젠가는 (scope 을 벗어날때) 소멸되는 임시 객체입니다. 이 객체가 소멸하는 순간 당연히 소멸자가 불립니다. 소멸자를 보시면 m_pArr 을 삭제하는 루틴이 있는 것을 알 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;move semantics에서 m_pArr 은 이미 다른 인스턴스에게 소유권이 이전된 메모리 영역입니다. 따라서 other.m_pArr 을 NULL 로 셋팅해주지 않는다면 다른 인스턴스 (this) 에게 이미 소유권이 넘어간 m_pArr을 delete 하게되고, 이는 당연히 move를 호출한 해당 인스턴스 (this) 가 가지고 있는 m_pArr을 삭제하는 결과를 초래하게 됩니다. 이는 마치 deep-copy 가 아닌 shallow-copy 와 마찬가지 상황인 것입니다.&amp;nbsp;&lt;/font&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;따라서 other.m_pArr 을 NULL 로 셋팅해주는 이유는, 소멸자에서 delete[] m_pArr 이 호출되는 것을 방지하기 위함입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;두번째로 파라미터가 const 타입이 아닌 것은 너무나 당연합니다. 내부에서 other 의 멤버인 m_pArr을 수정해야 하니까 말이죠. const 면 건드릴 수 조차 없겠죠?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;span style=&quot;font-size: 19px; line-height: 27px;&quot;&gt;&lt;b&gt;Performance&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;이제, move constructor 의 수행성능을 한번 봅시다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; font-size: 10pt; &quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;font-family: 돋움체; font-size: 10pt; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(34, 40, 42); background-position: initial initial; background-repeat: initial initial; &quot;&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;35&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a082bd;&quot;&gt;#include&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&amp;lt;ctime&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;36&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;37&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; main&lt;span style=&quot;color: #e8e2b7;&quot;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;38&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;39&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyArray a&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ffcd22;&quot;&gt;100000000&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;40&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;41&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;42&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//Copy constructor&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;43&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clock_t ct1 &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; clock&lt;span style=&quot;color: #e8e2b7;&quot;&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;44&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyArray myCopy&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;a&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;45&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clock_t ct2 &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; clock&lt;span style=&quot;color: #e8e2b7;&quot;&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;46&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;double&lt;/span&gt; msec1 &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;1000.0&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;ct2&lt;span style=&quot;color: #e8e2b7;&quot;&gt;-&lt;/span&gt;ct1&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;/&lt;/span&gt; CLOCKS_PER_SEC&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;47&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;cout&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;Copy time: &quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;msec1&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ec7600;&quot;&gt;&quot; msec&quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;endl&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;48&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;49&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;50&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//Move constructor&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;51&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clock_t mt1 &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; clock&lt;span style=&quot;color: #e8e2b7;&quot;&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;52&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyArray myMove&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;move&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;a&lt;span style=&quot;color: #e8e2b7;&quot;&gt;));&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;53&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clock_t mt2 &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; clock&lt;span style=&quot;color: #e8e2b7;&quot;&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;54&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;double&lt;/span&gt; msec2 &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;1000.0&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;mt2&lt;span style=&quot;color: #e8e2b7;&quot;&gt;-&lt;/span&gt;mt1&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;/&lt;/span&gt; CLOCKS_PER_SEC&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;55&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;cout&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;Move time: &quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;msec2&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ec7600;&quot;&gt;&quot; msec&quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;endl&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;56&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;57&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;58&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#3f4e49&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; font-size: 10pt; &quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;p style=&quot;color: rgb(241, 242, 243); font-family: 돋움체; font-size: 13px; line-height: 19px; background-color: rgb(34, 40, 42); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;background-color: rgb(41, 49, 52); color: rgb(63, 78, 73); background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; &quot;&gt;&amp;nbsp; &amp;nbsp;59&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: rgb(102, 116, 123); &quot;&gt;/*&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); font-family: 돋움체; font-size: 13px; line-height: 19px; background-color: rgb(34, 40, 42); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: rgb(63, 78, 73); background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(41, 49, 52); background-position: initial initial; background-repeat: initial initial; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;60&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: rgb(102, 116, 123); &quot;&gt;Output:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); font-family: 돋움체; font-size: 13px; line-height: 19px; background-color: rgb(34, 40, 42); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: rgb(63, 78, 73); background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(41, 49, 52); background-position: initial initial; background-repeat: initial initial; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;61&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: rgb(102, 116, 123); &quot;&gt;Copy time: 343 msec&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); font-family: 돋움체; font-size: 13px; line-height: 19px; background-color: rgb(34, 40, 42); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: rgb(63, 78, 73); background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(41, 49, 52); background-position: initial initial; background-repeat: initial initial; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;62&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: rgb(102, 116, 123); &quot;&gt;Move time: 0 msec&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); font-family: 돋움체; font-size: 13px; line-height: 19px; background-color: rgb(34, 40, 42); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: rgb(63, 78, 73); background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(41, 49, 52); background-position: initial initial; background-repeat: initial initial; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;63&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: rgb(102, 116, 123); &quot;&gt;계속하려면 아무 키나 누르십시오 . . .&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); font-family: 돋움체; font-size: 13px; line-height: 19px; background-color: rgb(34, 40, 42); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: rgb(63, 78, 73); background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(41, 49, 52); background-position: initial initial; background-repeat: initial initial; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;64&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: rgb(102, 116, 123); &quot;&gt;*/&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; font-size: 10pt; &quot;&gt;유의미한 값을 얻기 위해 1억개의 정수배열을 가지고 테스트해보았습니다만, 그 차이가 실로 엄청나네요.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;move 의 경우 거의 시간이 걸리지 않는 것을 알 수 있습니다.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;유사한 다른 예제코드도 한번 보죠.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;내부적으로 vector 를 멤버로 가지고 있는 클래스에서 각각 copy constructor 와 move constructor 를 이용했을때의 속도차를 살펴보았습니다. VC++10.0 (VS2010)&lt;/font&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&amp;nbsp;에 포함된 C++ 라이브러리는 STL에 이미 move semantics가 구현되있다는 것을 잊지마세요.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;이말은 STL 컨테이너인 vector에도 move constructor 나 move assignment operator 가 구현되어있다는 의미입니다.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;div style=&quot;font-family: 돋움체; font-size: 10pt; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(34, 40, 42); background-position: initial initial; background-repeat: initial initial; &quot;&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a082bd;&quot;&gt;#include&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&amp;lt;vector&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a082bd;&quot;&gt;#include&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&amp;lt;ctime&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a082bd;&quot;&gt;#include&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;class&lt;/span&gt; X&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;private&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;vector&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;gt;&lt;/span&gt; m_vec&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X&lt;span style=&quot;color: #e8e2b7;&quot;&gt;()&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;:&lt;/span&gt; m_vec&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ffcd22;&quot;&gt;100000&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;size_t i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ffcd22;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt; i &lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;100000&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;++&lt;/span&gt;i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m_vec&lt;span style=&quot;color: #e8e2b7;&quot;&gt;[&lt;/span&gt;i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;]&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; i&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//copy constructor&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;const&lt;/span&gt; X&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&lt;/span&gt; other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;:&lt;/span&gt; m_vec&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;.&lt;/span&gt;m_vec&lt;span style=&quot;color: #e8e2b7;&quot;&gt;){}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;19&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//move constructor&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;X&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;:&lt;/span&gt; m_vec&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;move&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;.&lt;/span&gt;m_vec&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)){}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;21&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;22&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span style=&quot;color: #93c763;&quot;&gt;operator&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;=(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;const&lt;/span&gt; X&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&lt;/span&gt; other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;23&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;24&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m_vec &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;.&lt;/span&gt;m_vec&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;25&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;26&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;27&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;28&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span style=&quot;color: #93c763;&quot;&gt;operator&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;=(&lt;/span&gt;X&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;29&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;30&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m_vec &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;move&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;other&lt;span style=&quot;color: #e8e2b7;&quot;&gt;.&lt;/span&gt;m_vec&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;31&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;32&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;33&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;};&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;34&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;35&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; main&lt;span style=&quot;color: #e8e2b7;&quot;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;36&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;37&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X x1&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;38&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;39&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//check copy time&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;40&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clock_t ct1 &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; clock&lt;span style=&quot;color: #e8e2b7;&quot;&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;41&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X x2&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;x1&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;42&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clock_t ct2 &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; clock&lt;span style=&quot;color: #e8e2b7;&quot;&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;43&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;double&lt;/span&gt; msec &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;1000.0&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;ct2&lt;span style=&quot;color: #e8e2b7;&quot;&gt;-&lt;/span&gt;ct1&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;/&lt;/span&gt; CLOCKS_PER_SEC&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;44&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;cout&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;Copy time: &quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;msec&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ec7600;&quot;&gt;&quot; msec&quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;endl&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;45&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;46&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//check move time&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;47&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clock_t mt1 &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; clock&lt;span style=&quot;color: #e8e2b7;&quot;&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;48&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X x3&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;move&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;x1&lt;span style=&quot;color: #e8e2b7;&quot;&gt;));&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;49&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clock_t mt2 &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; clock&lt;span style=&quot;color: #e8e2b7;&quot;&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;50&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;double&lt;/span&gt; msec2 &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;1000.0&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;mt2&lt;span style=&quot;color: #e8e2b7;&quot;&gt;-&lt;/span&gt;mt1&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;/&lt;/span&gt; CLOCKS_PER_SEC&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;51&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;cout&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;Move time: &quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;msec2&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ec7600;&quot;&gt;&quot; msec&quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;endl&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;52&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;53&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;54&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;55&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;font color=&quot;#3f4e49&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;p style=&quot;color: rgb(241, 242, 243); font-family: 돋움체; font-size: 13px; line-height: 19px; background-color: rgb(34, 40, 42); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: rgb(63, 78, 73); background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(41, 49, 52); background-position: initial initial; background-repeat: initial initial; &quot;&gt;&amp;nbsp; &amp;nbsp;56&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: rgb(102, 116, 123); &quot;&gt;/*&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); font-family: 돋움체; font-size: 13px; line-height: 19px; background-color: rgb(34, 40, 42); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: rgb(63, 78, 73); background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(41, 49, 52); background-position: initial initial; background-repeat: initial initial; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;57&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: rgb(102, 116, 123); &quot;&gt;output:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); font-family: 돋움체; font-size: 13px; line-height: 19px; background-color: rgb(34, 40, 42); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: rgb(63, 78, 73); background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(41, 49, 52); background-position: initial initial; background-repeat: initial initial; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;58&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); font-family: 돋움체; font-size: 13px; line-height: 19px; background-color: rgb(34, 40, 42); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: rgb(63, 78, 73); background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(41, 49, 52); background-position: initial initial; background-repeat: initial initial; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;59&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: rgb(102, 116, 123); &quot;&gt;Copy time: 46 msec&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); font-family: 돋움체; font-size: 13px; line-height: 19px; background-color: rgb(34, 40, 42); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: rgb(63, 78, 73); background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(41, 49, 52); background-position: initial initial; background-repeat: initial initial; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;60&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: rgb(102, 116, 123); &quot;&gt;Move time: 0 msec&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); font-family: 돋움체; font-size: 13px; line-height: 19px; background-color: rgb(34, 40, 42); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: rgb(63, 78, 73); background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(41, 49, 52); background-position: initial initial; background-repeat: initial initial; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;61&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); font-family: 돋움체; font-size: 13px; line-height: 19px; background-color: rgb(34, 40, 42); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: rgb(63, 78, 73); background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(41, 49, 52); background-position: initial initial; background-repeat: initial initial; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;62&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: rgb(102, 116, 123); &quot;&gt;*/&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Dotum&quot;&gt;역시 굉장한 차이를 보여주고 있고, 특히 move constructor 의 경우 거의 시간이 걸리지 않는 다는 것을 다시 한번 알 수 있습니다.&lt;/font&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-347-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-347-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-347-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.png&quot; alt=&quot;변경 금지&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;tt-plugin ttShareEntryWithSNS tt-sns-icon-alignment-center tt-sns-icon-size-small&quot;&gt;
	&lt;button class=&quot;ttShareEntryWithYozm&quot; id=&quot;ttServiceYozm_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;yozm&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;요즘에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithTwitter&quot; id=&quot;ttServiceTwitter_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;twitter&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;트위터에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithFacebook&quot; id=&quot;ttServiceFacebook_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;facebook&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;페이스북에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithMe2day&quot; id=&quot;ttServiceMe2day_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;me2day&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;미투데이에 보내기&lt;/span&gt;&lt;/button&gt;
&lt;/div&gt;
</description>
			<category>프로그래밍</category>
			<category>C++</category>
			<category>C++11</category>
			<author>In search of dream 꿈찾아고고씽</author>
			<guid>http://wonderfuldream.tistory.com/347</guid>
			<comments>http://wonderfuldream.tistory.com/347#entry347comment</comments>
			<pubDate>Wed, 21 Dec 2011 17:56:47 +1100</pubDate>
		</item>
		<item>
			<title>소프트웨어 2011</title>
			<link>http://wonderfuldream.tistory.com/346</link>
			<description>&lt;p&gt;2011년 한해 즐겨사용했던 소프트웨어 목록을 정리해봅니다.
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;저의 미디어 소비방식을 통째로 바꿔놓았던 iTunes.&lt;/p&gt;
&lt;p&gt;애플 팬보이가 될 줄은 꿈에도 몰랐는데, 안드로이드로 기변한 지금까지도 여전히 iTunes 를 사용한다는.&lt;/p&gt;
&lt;p&gt;현존하는 최고의 멀티미디어 플랫폼이 아닐까 싶습니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile1.uf.tistory.com/original/160228414EF087CB29212D&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile1.uf.tistory.com/image/160228414EF087CB29212D&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;itunes.jpg&quot; height=&quot;481&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;이젠 망하면 어쩌나 걱정이 될 정도로, 오랫동안 사용해왔던, 나의 노트 클리핑 어플리케이션.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile4.uf.tistory.com/original/150228414EF087CC2A21B9&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile4.uf.tistory.com/image/150228414EF087CC2A21B9&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;Remember Everything   Evernote Corporation-225559.jpg&quot; height=&quot;496&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;역시 용량면에서는 스카이드라이브를 따라갈 만한게 없었죠. 25G&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile5.uf.tistory.com/original/160228414EF087CC2B46CC&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile5.uf.tistory.com/image/160228414EF087CC2B46CC&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;Welcome to Windows Live-231941.jpg&quot; height=&quot;496&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;클라우드 스토리지의 새로운 강자.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile6.uf.tistory.com/original/180228414EF087CD2CCEA5&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile6.uf.tistory.com/image/180228414EF087CD2CCEA5&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;Box   Simple Online Collaboration  Online File Storage, FTP.jpg&quot; height=&quot;496&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;간단한 파일 공유는 드랍박스가 최고.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile30.uf.tistory.com/original/190228414EF087CD2D6D2C&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile30.uf.tistory.com/image/190228414EF087CD2D6D2C&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;Dropbox - Simplify your life-225946.jpg&quot; height=&quot;496&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;집중해서 글을 써야할 때는 다크룸.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile8.uf.tistory.com/original/200228414EF087CD2E7EF7&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile8.uf.tistory.com/image/200228414EF087CD2E7EF7&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;Dark Room   they.misled.us-223656.jpg&quot; height=&quot;496&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;간단한 이미지 편집툴.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile7.uf.tistory.com/original/120228414EF087CE2F462D&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile7.uf.tistory.com/image/120228414EF087CE2F462D&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PicPick    All-in-one Design Tools, Screen Capture, Image e.jpg&quot; height=&quot;496&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;뭔가 숨기고 싶을때 유용한 툴.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile23.uf.tistory.com/original/120228414EF087CF30071F&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile23.uf.tistory.com/image/120228414EF087CF30071F&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;TrueCrypt - Free Open-Source On-The-Fly Disk Encryption Sof.jpg&quot; height=&quot;496&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;여기 없으면 개발 못합니다. ㅋㅋ&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile9.uf.tistory.com/original/1349C7464EF09237077088&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile9.uf.tistory.com/image/1349C7464EF09237077088&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;Stack Overflow-225919.jpg&quot; height=&quot;496&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;위키 방식 오픈소스 프로젝트 매니지먼트 툴.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile1.uf.tistory.com/original/1449C7464EF09237081831&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile1.uf.tistory.com/image/1449C7464EF09237081831&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;The Trac Project-230558.jpg&quot; height=&quot;496&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Continuous Integration !&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile3.uf.tistory.com/original/1649C7464EF09238095652&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/1649C7464EF09238095652&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;Welcome to Jenkins CI!   Jenkins CI-225751.jpg&quot; height=&quot;496&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Visual Studio 애드온 Subversion 클라이언트.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile6.uf.tistory.com/original/1549C7464EF092390AC4FC&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile6.uf.tistory.com/image/1549C7464EF092390AC4FC&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;ankhsvn  Subversion Support for Visual Studio-223443.jpg&quot; height=&quot;496&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;요즘 뜨는 git. Visual studio 용 애드온.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile24.uf.tistory.com/original/1649C7464EF092390BB5CC&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile24.uf.tistory.com/image/1649C7464EF092390BB5CC&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;Git Source Control Provider-223402.jpg&quot; height=&quot;496&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;코딩도 이젠 소셜하게...&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile24.uf.tistory.com/original/1549C7464EF0923A0C52E4&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile24.uf.tistory.com/image/1549C7464EF0923A0C52E4&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;GitHub - Social Coding-225711.jpg&quot; height=&quot;496&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;말이 필요없는 이클립스. 개인적으론 파이썬 쓸 때 감사히 사용하는 툴.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile10.uf.tistory.com/original/1749C7464EF0923B0DC159&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile10.uf.tistory.com/image/1749C7464EF0923B0DC159&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;Eclipse - The Eclipse Foundation open source community webs.jpg&quot; height=&quot;496&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;괜찮은 마인드 맵 유틸.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile24.uf.tistory.com/original/1849C7464EF0923B0E2ACA&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile24.uf.tistory.com/image/1849C7464EF0923B0E2ACA&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;XMind - Mind Mapping and Storming-225526.jpg&quot; height=&quot;496&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/p&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-346-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-346-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-346-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.png&quot; alt=&quot;변경 금지&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;tt-plugin ttShareEntryWithSNS tt-sns-icon-alignment-center tt-sns-icon-size-small&quot;&gt;
	&lt;button class=&quot;ttShareEntryWithYozm&quot; id=&quot;ttServiceYozm_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;yozm&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;요즘에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithTwitter&quot; id=&quot;ttServiceTwitter_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;twitter&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;트위터에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithFacebook&quot; id=&quot;ttServiceFacebook_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;facebook&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;페이스북에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithMe2day&quot; id=&quot;ttServiceMe2day_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;me2day&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;미투데이에 보내기&lt;/span&gt;&lt;/button&gt;
&lt;/div&gt;
</description>
			<category>라이프로그</category>
			<category>개발툴</category>
			<category>소프트웨어</category>
			<category>유틸</category>
			<author>In search of dream 꿈찾아고고씽</author>
			<guid>http://wonderfuldream.tistory.com/346</guid>
			<comments>http://wonderfuldream.tistory.com/346#entry346comment</comments>
			<pubDate>Wed, 21 Dec 2011 00:59:19 +1100</pubDate>
		</item>
		<item>
			<title>C++11 스터디 노트 (12/n) - move semantics (1)</title>
			<link>http://wonderfuldream.tistory.com/345</link>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;이번 포스트는 move semantics 에 대한 첫번째 포스트입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;이 글에서는 move semantics에 대해 이야기 하기 전에, C++ 복사(copy)가 가진, C++ copy semantics가 가지고 있는 문제점에 대해서 우선 생각해봅시다. 왜냐면 move semantics 가 등장한 배경에는 C++ copy 에 대한 고민이 있었기 때문입니다.&amp;nbsp;문제점을 인식하지 못한다면, 왜 이걸 해야하는지 동의하기도 힘드니까요.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;C++ 에서는 어느 한 객체의 상태를 다른 객체로 복사하는 일이 가능합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;C++ 에서 복사와 관련된 메커니즘은 Copy Constructor 와 Assignment Operator 에 의해 처리됩니다. 이 둘은 프로그래머가 정의할 수도 있고, 컴파일러에 의해 정의되기도 합니다. 만약 컴파일러가 클래스 내에서 이 둘을 찾을 수 없다면 자동적으로 이를 생성해 주도록 되어있기 때문입니다. 하지만, 클래스 내부에서 다른 타입의 리소스를 가지고 뭔가 한다면, deep copy를 위해 프로그래머가 직접 정의한 copy con 과 asgn oprt 가 있어야 하는 것이 best practice 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;이 둘의 전형적인 구현 패턴은 매우 유사합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;1. 멤버 변수를 위해 새로 리소스를 할당해 주고&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;2. 인자로부터 this 포인터로 복사를 실행하고&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;3. 기존 리소스를 해제한 후&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;4. 해제된 기존 리소스에 새로운 리소스를 할당하여 이를 반환합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;이는 마치 디카에 있는 SD 메모리카드에서 컴퓨터로 사진을 옮기는 시나리오와 비슷합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;1. 우선 사진 복사를 위해 PC 에 폴더를 하나 만듭니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;2. 이제 SD 카드에서 사진들을 선택해 컴퓨터로 복사합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;3. 복사가 끝나면, SD 카드의 해당 원본 사진들을 삭제하기 시작합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;4. 삭제가 끝나면, 이제 PC에서 복사한 사진을 가지고 작업을 시작합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;이 글을 읽으시는 분 들 가운데 설마 이렇게 하는 분들은 없으시겠죠? ^^&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;하지만 놀랍게도, C++ 의 메커니즘과 위의 비효율적인 디카 사진 옮기기 시나리오는 거의 동일합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;Q) 그럼, 디카 사진은 어떻게 옮겨야 됩니까?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;A) 그냥 ctrl + c, ctrl + v 하면 됩니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;Q) 그럼 C++ 에서는요?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;A) 그냥 닥치고 하던 대로 하세요. &amp;nbsp;ㅠ,.ㅠ&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;우리는 여태까지 C++ 세상에서 이렇게 비효율적으로 살아왔다는 불편한 진실. ^^;;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;이러한 C++ 언어의 기능(제한)적인 측면은 STL의 구현에도 지대한 영향을 미쳤더랬습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;가령 예를 들어, vector 안에 어떤 객체를 넣는 오퍼레이션을 생각해보죠.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;div style=&quot;font-family: 돋움체; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a082bd;&quot;&gt;#include&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&amp;lt;vector&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;class&lt;/span&gt; MyClass&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;void&lt;/span&gt; foo&lt;span style=&quot;color: #e8e2b7;&quot;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyClass o&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;vector&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&lt;/span&gt;MyClass&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;gt;&lt;/span&gt; vec&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #66747b;&quot;&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #66747b;&quot;&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; ... vec에 대한 뭔가 많은 오퍼레이션 ...&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #66747b;&quot;&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vec&lt;span style=&quot;color: #e8e2b7;&quot;&gt;.&lt;/span&gt;push_back&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;o&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;만약 라인8 부터 10까지의, 뭔가 많은 오퍼레이션으로 인해, vec.push_back(o); 라인을 만나기 전에 vec이 모두 채워져 버렸다고 가정해봅시다.&amp;nbsp;vector는 동적으로 증가하는 배열입니다. 그렇기 때문에 벡터가 꽉 차버리는 경우, 컴파일러 내부적으로 아래와 같은 일들이 벌어집니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;1. 크기가 더 큰 새로운 vector 를 만들고 (STL 구현 벤더에 따라 다릅니다만, 보통 1.5 ~ 2 배 씩 그 크기가 증가하는 것으로 알려져 있습니다.)&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;2. 이곳에 기존벡터에 있던 엘리먼트들을 모두 복사합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;3. 복사가 모두 끝나면, 기존 벡터안에 있던 엘리먼트들을 모두 파괴시킵니다. 벡터 내부 엘리먼트가 객체인 경우엔 객체의 소멸자를 호출합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;4. 기존 벡터 자체를 파괴시킵니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;5. 새로운 벡터의 이름을 기존 벡터 이름으로 바꿔치기 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;위의 모든 과정이 끝나고 나서야, 이제 vec.push_back(o); 가 실행됩니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;프로그래머: &quot;전 그냥 벡터 끄트머리에 객체 2개만 더 추가하고 싶었을 뿐이라고요...&quot;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;컴파일러: &quot;닥치세요. 2개던 100개던 상관없어. 난 저렇게 밖에 할 줄 모르거든!&quot;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;다른 예로,&amp;nbsp;벡터를 반환하는 팩토리 함수도 한번 생각해봅시다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;&lt;div style=&quot;font-family: 돋움체; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a082bd;&quot;&gt;#include&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&amp;lt;vector&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;class&lt;/span&gt; MyClass&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;typedef&lt;/span&gt; std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;::&lt;/span&gt;vector&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&lt;/span&gt;MyClass&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;gt;&lt;/span&gt; MyVec&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;MyVec createMyVec&lt;span style=&quot;color: #e8e2b7;&quot;&gt;();&lt;/span&gt; &lt;span style=&quot;color: #66747b;&quot;&gt;// 팩토리 함수&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;void&lt;/span&gt; foo&lt;span style=&quot;color: #e8e2b7;&quot;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyVec vec&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//...&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//... vec을 이용한 다양한 오퍼레이션 ...&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//...&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vec &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; createMyVec&lt;span style=&quot;color: #e8e2b7;&quot;&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;8 라인이 실행되면, 우선 STL 구현에 따라 정의된 디폴트 사이즈로 vector가 생성됩니다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;다음에 vec을 이용해서 뭔가 다양한 일들을 수행합니다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;그리고, 12 라인이 실행되면 다음과 같은 일이 벌어집니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;1. createMyVec() 은 내부에서 임시로 비어있는 MyVec 객체를 하나 만들고 (vec2 라고 합시다),&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;2. createMyVec() 함수 안에서 정의된 일을 수행한 후,&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;3. vec2를 vec 에 대입합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;3번 과정의 내부를 좀 더 들여다 봅시다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;3-1) createMyVec() 함수가 반환할 때 우선 넘겨받아야 할 vec 에 빈 자리가 있어야 하므로,&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;3-2) vec이 가지고 있던 엘리먼트들을 파괴합니다. vec 안에 무엇이 들어있던 간에 파괴됩니다. &amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;3-3) vec 내부 확보가 끝나면, vec2 내의 엘리먼트를 vec 으로 하나 하나 복사합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;3-4) 복사를 모두 마치면, vec2는 소멸되어야 하므로, vec2 내부에 들어있는 엘리먼트를 파괴합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;3-5) vec2 의 엘리먼트들이 모두 소멸되고 난 후에, vec2를 소멸합니다&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;이제 어느 정도 C++ Copy Semantics 가 가지고 있는 문제점에 대해 인식이 되셨나요?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;C++11 에서는 copy의 이러한 비효율을 없애기 위해 move semantics 라는 개념을 들고 나왔고, 더불어 C++ STL 에도 이런 메커니즘을 대거 적용했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;이로 인해, 심지어! 기존 레거시 코드의 퍼포먼스도 향상되었고요.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;이런 일이 가능했던 것은 모두 다 r-value 레퍼런스라는 명품조연 덕분입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;다음 포스트에는 move semantics 가 어떻게 생겼는지 알아보도록 하겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-345-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-345-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-345-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.png&quot; alt=&quot;변경 금지&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;tt-plugin ttShareEntryWithSNS tt-sns-icon-alignment-center tt-sns-icon-size-small&quot;&gt;
	&lt;button class=&quot;ttShareEntryWithYozm&quot; id=&quot;ttServiceYozm_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;yozm&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;요즘에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithTwitter&quot; id=&quot;ttServiceTwitter_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;twitter&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;트위터에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithFacebook&quot; id=&quot;ttServiceFacebook_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;facebook&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;페이스북에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithMe2day&quot; id=&quot;ttServiceMe2day_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;me2day&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;미투데이에 보내기&lt;/span&gt;&lt;/button&gt;
&lt;/div&gt;
</description>
			<category>프로그래밍</category>
			<category>C++</category>
			<category>C++11</category>
			<author>In search of dream 꿈찾아고고씽</author>
			<guid>http://wonderfuldream.tistory.com/345</guid>
			<comments>http://wonderfuldream.tistory.com/345#entry345comment</comments>
			<pubDate>Mon, 19 Dec 2011 12:25:14 +1100</pubDate>
		</item>
		<item>
			<title>Tahlee and Terrigal Family &amp; Friends Out Pics</title>
			<link>http://wonderfuldream.tistory.com/344</link>
			<description>&lt;p&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile25.uf.tistory.com/original/1213764F4EE89F5532F3E6&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/1213764F4EE89F5532F3E6&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA041061.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile22.uf.tistory.com/original/1413764F4EE89F5633CEE8&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile22.uf.tistory.com/image/1413764F4EE89F5633CEE8&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA041067.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile3.uf.tistory.com/original/1613764F4EE89F57345FD7&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/1613764F4EE89F57345FD7&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA041072.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile4.uf.tistory.com/original/1713764F4EE89F573513A4&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile4.uf.tistory.com/image/1713764F4EE89F573513A4&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA041073.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile6.uf.tistory.com/original/1913764F4EE89F5836074D&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile6.uf.tistory.com/image/1913764F4EE89F5836074D&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA041075.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile25.uf.tistory.com/original/2013764F4EE89F58371A6A&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/2013764F4EE89F58371A6A&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA041077.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile26.uf.tistory.com/original/1213764F4EE89F5938144E&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile26.uf.tistory.com/image/1213764F4EE89F5938144E&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA041086.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile29.uf.tistory.com/original/1113764F4EE89F5A391FD4&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile29.uf.tistory.com/image/1113764F4EE89F5A391FD4&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA041087.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile1.uf.tistory.com/original/2013764F4EE89F5B3A9B79&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile1.uf.tistory.com/image/2013764F4EE89F5B3A9B79&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA041088.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile3.uf.tistory.com/original/1213764F4EE89F5C3BDFC1&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/1213764F4EE89F5C3BDFC1&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA041090.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile21.uf.tistory.com/original/1413764F4EE89F5D3C4F3B&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile21.uf.tistory.com/image/1413764F4EE89F5D3C4F3B&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051094.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile6.uf.tistory.com/original/1613764F4EE89F5E3DE006&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile6.uf.tistory.com/image/1613764F4EE89F5E3DE006&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051096.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile6.uf.tistory.com/original/1813764F4EE89F5F3E9CE3&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile6.uf.tistory.com/image/1813764F4EE89F5F3E9CE3&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051112.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile8.uf.tistory.com/original/1813764F4EE89F603F394A&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile8.uf.tistory.com/image/1813764F4EE89F603F394A&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051114.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile25.uf.tistory.com/original/1713764F4EE89F60408DF7&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/1713764F4EE89F60408DF7&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051116.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile2.uf.tistory.com/original/1913764F4EE89F6141F365&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile2.uf.tistory.com/image/1913764F4EE89F6141F365&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051123.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile2.uf.tistory.com/original/1113764F4EE89F6242627E&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile2.uf.tistory.com/image/1113764F4EE89F6242627E&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051124.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile25.uf.tistory.com/original/1313764F4EE89F63433B0E&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/1313764F4EE89F63433B0E&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051129.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile8.uf.tistory.com/original/1413764F4EE89F63441417&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile8.uf.tistory.com/image/1413764F4EE89F63441417&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051139.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile23.uf.tistory.com/original/1613764F4EE89F6445656F&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile23.uf.tistory.com/image/1613764F4EE89F6445656F&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051141.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile25.uf.tistory.com/original/2013764F4EE89F6746DB6F&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/2013764F4EE89F6746DB6F&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051150.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile2.uf.tistory.com/original/1113764F4EE89F6747A86B&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile2.uf.tistory.com/image/1113764F4EE89F6747A86B&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051151.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile24.uf.tistory.com/original/1313764F4EE89F68488C4B&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile24.uf.tistory.com/image/1313764F4EE89F68488C4B&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051152.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile1.uf.tistory.com/original/1513764F4EE89F69496B1D&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile1.uf.tistory.com/image/1513764F4EE89F69496B1D&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051153.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile27.uf.tistory.com/original/1113764F4EE89F6A4A875F&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile27.uf.tistory.com/image/1113764F4EE89F6A4A875F&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051154.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile5.uf.tistory.com/original/1213764F4EE89F6A4B58F8&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile5.uf.tistory.com/image/1213764F4EE89F6A4B58F8&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051155.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile21.uf.tistory.com/original/1413764F4EE89F6B4CBB51&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile21.uf.tistory.com/image/1413764F4EE89F6B4CBB51&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051156.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile4.uf.tistory.com/original/1513764F4EE89F6B4DC37F&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile4.uf.tistory.com/image/1513764F4EE89F6B4DC37F&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051157.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile4.uf.tistory.com/original/1613764F4EE89F6B4E4439&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile4.uf.tistory.com/image/1613764F4EE89F6B4E4439&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;PA051158.jpg&quot; height=&quot;450&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/p&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-344-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-344-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-344-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.png&quot; alt=&quot;변경 금지&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;tt-plugin ttShareEntryWithSNS tt-sns-icon-alignment-center tt-sns-icon-size-small&quot;&gt;
	&lt;button class=&quot;ttShareEntryWithYozm&quot; id=&quot;ttServiceYozm_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;yozm&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;요즘에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithTwitter&quot; id=&quot;ttServiceTwitter_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;twitter&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;트위터에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithFacebook&quot; id=&quot;ttServiceFacebook_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;facebook&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;페이스북에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithMe2day&quot; id=&quot;ttServiceMe2day_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;me2day&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;미투데이에 보내기&lt;/span&gt;&lt;/button&gt;
&lt;/div&gt;
</description>
			<category>포토앨범</category>
			<category>Tahlee</category>
			<category>Terrigal</category>
			<category>travel</category>
			<author>In search of dream 꿈찾아고고씽</author>
			<guid>http://wonderfuldream.tistory.com/344</guid>
			<comments>http://wonderfuldream.tistory.com/344#entry344comment</comments>
			<pubDate>Thu, 15 Dec 2011 00:09:02 +1100</pubDate>
		</item>
		<item>
			<title>C++11 스터디 노트 (11/n) - R-Value Reference</title>
			<link>http://wonderfuldream.tistory.com/343</link>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;이번 포스트에서는 R-Value 레퍼런스에대해 알아보도록 하겠습니다.&amp;nbsp;R-Value 에 대해 이야기하기 전에 먼저 기존 C++의 레퍼런스 타입에 대해 잠깐 리마인드 해보고 넘어갑시다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;!--StartFragment--&gt;
&lt;/p&gt;
&lt;div style=&quot;font-family: ����ü; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp; &amp;nbsp; 1&lt;/span&gt;&amp;nbsp;MyClass a&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;MyClass&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&lt;/span&gt; b &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; a&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;!--EndFragment--&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;&lt;span id=&quot;tx_left_marker&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;이미 알고 계시듯이 a 라고 객체를 하나 만들었고, b 라는 레퍼런스 타입을 하나 만들어서 a를 참조하도록 하고 있습니다. 이때 b 를 레퍼런스 밸류라고 불러왔었습니다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;하지만, C++11이 나온 이제부터는 b 값의 타입을 레퍼런스라고 부르지 마세요. 대신 L-Value 레퍼런스라고 불러야 합니다.&amp;nbsp;이게 다 R-Value 레퍼런스가 나온 덕분입니다.&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;새로운 C++ 표준에서 레퍼런스라는 개념은 L-Value 레퍼런스와 R-Value 레퍼런스로 나뉘어집니다. 이제부터 여러분의 팀원이 뭐시기 뭐시기는 레퍼런스 타입이라고 하면 이제부터는 L-Value 인지 R-Value 인지 다시 한번 물어보도록 합시다.&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;그럼 R-Value 레퍼런스는 얼마나 이쁘게 생겼는지 한번 봅시다.&lt;/font&gt;&lt;/span&gt;&lt;span id=&quot;tx_right_marker&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;!--StartFragment--&gt;
&lt;/p&gt;
&lt;div style=&quot;font-family: ����ü; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp; &amp;nbsp; 1&lt;/span&gt;&amp;nbsp;MyClass a&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;MyClass&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; c &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; a&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;!--EndFragment--&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;&lt;span id=&quot;tx_left_marker&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;위 코드에서 c가 R-Value 레퍼런스 타입 변수입니다.&amp;nbsp;이게 뭔가요. &amp;amp;&amp;amp;를 붙이는 것만 빼고는 똑같군요.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;흠. 좀실망인데요.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;하지만, 맞습니다. R-Value 레퍼런스는 L-Value 레퍼런스랑 한 가지만 빼고 똑같습니다. ( 아, &amp;amp;를 하나 더 붙이는거까지 합치면 두 개군요.)&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;L-Value 레퍼런스는 그 우측값(r-value)으로 L-Value 만 받을 수 있습니다.&amp;nbsp;그에 반해 R-Value 레퍼런스는 그 우측값(r-value) 로 L-Value 뿐만 아니라 R-Value 도 받을 수 있습니다.&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;헷갈리나요? 헷갈리는 분들은 L-Value 와 R-Value 에 대한 정의가 명확하시지 않으셔서 그럴겁니다. &amp;nbsp;L-Value/R-Value 가 뭐였는지 다시 한번 되집어 볼까요?&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;C 표준에서는 이 둘을 아래와 같이 정의합니다.&lt;/span&gt;&lt;span id=&quot;tx_right_marker&quot;&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia; font-size: 15px; line-height: 22px; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;An L-Value is an expression e that may appear on the left or on the right hand side of an assignment, whereas an R-Value is an expression that can only appear on the right hand side of an assignment&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;&lt;span id=&quot;tx_left_marker&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;해석하면, 대입식 (assignment) 에서 왼쪽 또는 오른쪽에 나올 수 있는게 L-Value (left-hand side value의 약자), 오른쪽에만 나올 수 있는게 R-Value (right-hand side value의 약자) 입니다.&amp;nbsp;뭔가 성의없어 보이는 설명에 더 헷갈리기만 하는군요.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;어쩔 수 없네요. 예를 들어 봅시다.&lt;/span&gt;&lt;/font&gt;&lt;span id=&quot;tx_right_marker&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;!--StartFragment--&gt;
&lt;/p&gt;
&lt;div style=&quot;font-family: ����ü; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp; &amp;nbsp; 1&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; a &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;13&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; b &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;!--EndFragment--&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;a 와 b는 L-Value 이고, 13 과 12는 R-Value 입니다.&amp;nbsp;L-Value는 오른쪽에도 나올 수 있다고 했습니다. 즉, L-Value 가 R-Value가 필요한 자리에 나오면, L-Value는 묵시/자동적으로 R-Value 로 변경됩니다. 따라서&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;!--StartFragment--&gt;
&lt;/p&gt;
&lt;div style=&quot;font-family: ����ü; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp; &amp;nbsp; 5&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; b&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #66747b;&quot;&gt;//ok&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; a&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #66747b;&quot;&gt;// ok&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; a&lt;span style=&quot;color: #e8e2b7;&quot;&gt;*&lt;/span&gt;b&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #66747b;&quot;&gt;//ok&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;!--EndFragment--&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;&lt;span id=&quot;tx_left_marker&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;는 모두 가능합니다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;위에서 a*b 는 R-Value 입니다. 따라서 ,&lt;/font&gt;&lt;/span&gt;&lt;span id=&quot;tx_right_marker&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;!--StartFragment--&gt;
&lt;/p&gt;
&lt;div style=&quot;font-family: ����ü; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp; &amp;nbsp; 9&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; c &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; a&lt;span style=&quot;color: #e8e2b7;&quot;&gt;*&lt;/span&gt;b&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #66747b;&quot;&gt;// ok&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//a*b = 12; // error. R-Value must be on the right side.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;!--EndFragment--&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;&lt;span id=&quot;tx_left_marker&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;앞에서 R-Value가 필요한 자리에 L-Value가 나오면, 묵시/자동적으로 R-Value 로 변경된다고 했는데요. R-Value는 그게 안됩니다. R-Value는 무조건 R-Value 자리에 있어야 됩니다. R-Value 는 대입식의 오른쪽이 지정석입니다. 지정석 외에 다른 자리에 앉으면 안됩니다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;또한 위 코드에서 모든 변수들에 const 를 붙여주지 않았기 때문에, L-Value 는 처음 정의가 된 이후에, R-Value를 통해 변경이 가능합니다. 이에 반해 R-Value 는 변경이 되지 않습니다. R-Value 는 굳이 const로 지정해주지 않아도 const 의 성격을 가지고 있습니다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;C의 L-Value / R-Value 정의는 C++ 에서도 여전히 유효합니다만, 이렇게 이해하는 것이 더 좋을겁니다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;&lt;b&gt;특정 메모리 위치를 가르키고 있으며, 어떤 값을 assign 할 수 있고, &amp;amp; 오퍼레이터를 통해 해당 메모리의 주소값을 가져올 수 있는 expression 이 L-Value 입니다.&amp;nbsp;R-Value는 L-Value 가 아닌 expression 입니다.&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;&lt;b&gt;즉, 값을 담을 수 없으며 (can&#039;t assign) , L-Value 에 값을 담기 위해 임시(temporary)로 생성된 expression 입니다. 값을 담을 수 없기 때문에 당연히 &amp;amp; 오퍼레이터를 써서 그 내부의 값을 알아오는 것도 불가능합니다.&lt;/b&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;하나 더.&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;C++에서 레퍼런스 타입을 반환하는 함수에 대한 호출은 L-Value를 반환하고, 이를 제외한 함수는 모두 R-Value를 반환합니다. 즉,&lt;/font&gt;&lt;/span&gt;&lt;span id=&quot;tx_right_marker&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;!--StartFragment--&gt;
&lt;/p&gt;
&lt;div style=&quot;font-family: ����ü; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp; &amp;nbsp;12&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&lt;/span&gt; foo&lt;span style=&quot;color: #e8e2b7;&quot;&gt;();&lt;/span&gt; &lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foo&lt;span style=&quot;color: #e8e2b7;&quot;&gt;()&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #66747b;&quot;&gt;// ok&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;*&lt;/span&gt; p1 &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&lt;/span&gt;foo&lt;span style=&quot;color: #e8e2b7;&quot;&gt;();&lt;/span&gt; &lt;span style=&quot;color: #66747b;&quot;&gt;// ok&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;!--EndFragment--&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;foo() 함수 호출은 L-Value를 반환하고, L-Value 는 &amp;amp; 연산자를 통해 주소값을 가져올 수 있습니다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;!--StartFragment--&gt;
&lt;/p&gt;
&lt;div style=&quot;font-family: ����ü; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp; &amp;nbsp;16&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; bar&lt;span style=&quot;color: #e8e2b7;&quot;&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; j &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; bar&lt;span style=&quot;color: #e8e2b7;&quot;&gt;();&lt;/span&gt; &lt;span style=&quot;color: #66747b;&quot;&gt;// ok. bar() is R-Value&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;19&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #66747b;&quot;&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; int* p2 = &amp;amp;bar(); // error. R-Value can&#039;t be applied &amp;amp; operator.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;!--EndFragment--&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;이제 R-Value 와 L-Value의 차이가 이해가 되시나요?&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;자. 그럼, R-Value 레퍼런스. &lt;/span&gt;&lt;b&gt;&lt;span id=&quot;tx_left_marker&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; &quot;&gt;&lt;span style=&quot;font-size: 18pt; &quot;&gt;도.대.체&lt;/span&gt; &lt;span style=&quot;font-size: 14pt; font-family: Dotum; &quot;&gt;이걸 왜&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; &quot;&gt; 알아야 되는 걸까&lt;/span&gt;&lt;span id=&quot;tx_right_marker&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;요. 이게 왜 필요한 걸&lt;/span&gt;까&lt;span id=&quot;tx_left_marker&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;요? 이런 간략한 변화따위로 우리 디벨로퍼들 인생을 편하게 해줄 수 있을까요?&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;그 이유는 R-Value 레퍼런스를 사용해야 C++11에 새롭게 도입된 move semantics 를 구현할 수 있었기 때문입니다. 또한 R-Value 레퍼런스는 역시 C++11에 새롭게 등장한 perfect forwarding 또한 해결할 수 있는 키를 쥐고 있는 개념입니다. 무대의 여배우를 화려하게 빛나게 해주기 위한 명품조연이라고나 할까요.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;L-Value 와 R-Value의 차이를 정확히 이해하고 있어야, 앞으로 등장할 move semantics 와 perfect forwarding의 개념을 쉽게 이해할 수 있습니다. 그 중에서도 move semantics 은 정말 C++ 11에서 람다함수만큼이나 천지가 개벽할 만한 내용입니다. 물론 이걸 안다고 해서 하늘에서 돈다발이 쏟아져 내리는 건 아닙니다만, 엄청나게 훌륭한 개념이긴 합니다. C++ 코드의 성능도 좋아지고, 남들 앞에서 조금 아는척도 하실 수 있을거고요. ^^&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;암튼, R-Value와 L-Value 가 조금 헷갈리더라도 정확히 알고 넘어가야 합니다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;이제까지의 내용을 정리해서 코드로 만들어봤습니다. 설명은 코드 안에 커멘트형식으로 달아두었습니다. 우스운 영어실력이긴하지만, ^^ 이해하기 어렵지는 않으실거예요.&lt;/font&gt;&lt;/span&gt;&lt;span id=&quot;tx_right_marker&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;!--StartFragment--&gt;
&lt;/p&gt;
&lt;div style=&quot;font-family: ����ü; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp; &amp;nbsp; 1&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a082bd;&quot;&gt;#include&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; main&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; argc&lt;span style=&quot;color: #e8e2b7;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #93c763;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;**&lt;/span&gt; argv&lt;span style=&quot;color: #e8e2b7;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;using&lt;/span&gt; &lt;span style=&quot;color: #93c763;&quot;&gt;namespace&lt;/span&gt; std&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//L-Value Reference you&#039;re familiar since C++98&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; a &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//int&amp;amp; r = 3; //error as L-Value reference can only have &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;// L-Value as its R-Value&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&lt;/span&gt; ra &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; a&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;Original: L-Value(a): &quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;a&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;, L-Value Reference(ra): &quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;ra&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;endl&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ra &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;Modified: L-Value(a): &quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;a&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;, L-Value Reference(ra): &quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;ra&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;endl&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//newly introduced R-Value Reference in C++11&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; b &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;19&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; rb &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #66747b;&quot;&gt;//no error as R-Value reference can have &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;// either L-Value or R-value as its R-Value&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;21&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;22&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;Original: L-Value(b): &quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;b&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;, R-Value Reference(rb): &quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;rb&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;endl&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;23&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rb &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; b&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;color: #66747b;&quot;&gt;//Now R-value reference is assigned by L-Value&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;24&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;Modified: L-Value(b): &quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;b&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;, R-Value Reference(rb): &quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;rb&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;endl&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;25&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;26&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;27&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;!--EndFragment--&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;실행결과입니다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile29.uf.tistory.com/original/122FC6454EE727CD222F05&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile29.uf.tistory.com/image/122FC6454EE727CD222F05&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;R-Value3.png&quot; height=&quot;151&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;R-Value 레퍼런스를 활용한 move semantics 와 perfect forwarding 에 대한 개념은 이어지는 포스트에서 다루겠습니다. 이제까지는 밑밥이었습니다. 본격적으로 재밌는 이야기는 다음편에 ^^;;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-343-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-343-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-343-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.png&quot; alt=&quot;변경 금지&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;tt-plugin ttShareEntryWithSNS tt-sns-icon-alignment-center tt-sns-icon-size-small&quot;&gt;
	&lt;button class=&quot;ttShareEntryWithYozm&quot; id=&quot;ttServiceYozm_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;yozm&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;요즘에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithTwitter&quot; id=&quot;ttServiceTwitter_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;twitter&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;트위터에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithFacebook&quot; id=&quot;ttServiceFacebook_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;facebook&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;페이스북에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithMe2day&quot; id=&quot;ttServiceMe2day_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;me2day&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;미투데이에 보내기&lt;/span&gt;&lt;/button&gt;
&lt;/div&gt;
</description>
			<category>프로그래밍</category>
			<category>C++</category>
			<category>C++11</category>
			<author>In search of dream 꿈찾아고고씽</author>
			<guid>http://wonderfuldream.tistory.com/343</guid>
			<comments>http://wonderfuldream.tistory.com/343#entry343comment</comments>
			<pubDate>Tue, 13 Dec 2011 21:45:47 +1100</pubDate>
		</item>
		<item>
			<title>C++11 스터디 노트 (10/n) - static_assert</title>
			<link>http://wonderfuldream.tistory.com/342</link>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;p&gt;이번 포스트에서는 C++11에 새롭게 도입된 static_assert라는 키워드에 대해 알아봅니다.&amp;nbsp;먼저 이 키워드의 용도는 &lt;b&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;컴파일 타임&lt;/span&gt;&lt;/b&gt;에 어떤 주어진 조건을 검사하는데 사용합니다.&amp;nbsp;Syntax 는 아래와 같습니다.&lt;/p&gt;
&lt;p&gt;static_assert(expression, message)&lt;/p&gt;
&lt;p&gt;expression 이 true 로 판명되면, 컴파일러는 아무것도 안합니다.&amp;nbsp;false 로 판명되면 C2338 에러를 뿜고, 두번째 파라미터로 넘겨준 message를 출력합니다.&lt;/p&gt;
&lt;p&gt;&lt;!--StartFragment--&gt;
&lt;/p&gt;
&lt;div style=&quot;font-family: ����ü; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp; &amp;nbsp; 1&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a082bd;&quot;&gt;#include&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; main&lt;span style=&quot;color: #e8e2b7;&quot;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #93c763;&quot;&gt;auto&lt;/span&gt; MAX_LEVEL &lt;span style=&quot;color: #e8e2b7;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;120&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;static_assert&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;MAX_LEVEL &lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;Warning - Max Level&quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt; &lt;span style=&quot;color: #66747b;&quot;&gt;//error C2338: Warning - Max Level&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;!--EndFragment--&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;문법과 사용법 자체는 크게 어려운게 없습니다.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;활용예를 생각해봅시다.
&lt;/p&gt;
&lt;p&gt;멀티 플랫폼을 위한 어플리케이션 작성에 활용해 볼 수 있겠습니다.&lt;/p&gt;
&lt;p&gt;&lt;!--StartFragment--&gt;
&lt;/p&gt;
&lt;div style=&quot;font-family: ����ü; font-size: 10pt; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(34, 40, 42); background-position: initial initial; background-repeat: initial initial; &quot;&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp; &amp;nbsp; 1&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a082bd;&quot;&gt;#include&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; main&lt;span style=&quot;color: #e8e2b7;&quot;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//...&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: rgb(63, 78, 73); background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(41, 49, 52); background-position: initial initial; background-repeat: initial initial; &quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#f1f2f3&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;span style=&quot;color: rgb(147, 199, 99); &quot;&gt;static_assert&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 226, 183); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(147, 199, 99); &quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 226, 183); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(147, 199, 99); &quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 226, 183); &quot;&gt;*)&lt;/span&gt; &lt;span style=&quot;color: rgb(232, 226, 183); &quot;&gt;==&lt;/span&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#f1f2f3&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#ffcd22&quot;&gt;4&lt;/font&gt;&lt;span style=&quot;color: rgb(232, 226, 183); &quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: rgb(236, 118, 0); &quot;&gt;&quot;This code is not supported for 64bit&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 226, 183); &quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//...&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: rgb(241, 242, 243); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;!--EndFragment--&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;포인터의 크기는 32 비트 머신에서는 4이지만, 64비트 머신에서는 8입니다. 플랫폼의 크기에 따라 다른거죠.&lt;/p&gt;
&lt;p&gt;위 코드는 만약 32 비트 머신에서 컴파일하면 아무런 에러가 없지만, 64비트 머신에서 컴파일하면 마찬가지로 C2338 에러를 냅니다. 이 코드는 해당 코드의 빌드 머신 플랫폼을 체크할때 사용할 수 있겠네요.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;static_assert 는 클래스 내에 삽입할 수도 있습니다.&amp;nbsp;가령 아래와 같은 템플릿 코드 내에서 static_assert를 삽입하여, 입력되는 값을 컨트롤 할 수도 있겠습니다.&lt;/p&gt;
&lt;p&gt;&lt;!--StartFragment--&gt;
&lt;/p&gt;
&lt;div style=&quot;font-family: ����ü; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp; &amp;nbsp; 1&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #a082bd;&quot;&gt;#include&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;template&lt;/span&gt; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; N&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;struct&lt;/span&gt; MyStruct&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;static_assert&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;N &lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;MyStruct requires N &amp;lt; 10&quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;};&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; main&lt;span style=&quot;color: #e8e2b7;&quot;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyStruct&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ffcd22;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;gt;&lt;/span&gt; m1&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyStruct&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ffcd22;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;gt;&lt;/span&gt; m2&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyStruct&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ffcd22;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;gt;&lt;/span&gt; m3&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyStruct&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ffcd22;&quot;&gt;13&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;&amp;gt;&lt;/span&gt; m4&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #66747b;&quot;&gt;// error C2338: MyStruct requires N &amp;lt; 10&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;!--EndFragment--&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;다른 예로, 여러분이 라이브러리 개발자라고 해봅시다. 예전 버전에서 A라는 클래스를 쓰고 있었는데, 문제가 발견되어 A 클래스를 A2 클래스로 바꿨습니다. 예전 버전과의 호환성 문제때문에 A 클래스는 지워버릴 수가 없는 상황입니다.&lt;/p&gt;
&lt;p&gt;다른 팀에 있는 개발자들에게 회의나 이메일 등을 통해 &quot;A 클래스는 예전 버전을 위한 코드이니, 내일부터는 A2 클래스를 써주세요&quot; 라고 알려줬지만, 죽어라고 말 안듣고 계속 A 클래스를 사용하고 있어서 그로 인한 문제가 QA 로부터 계속해서 터져나오는 상황입니다.&lt;/p&gt;
&lt;p&gt;이럴 때는 A 클래스 내에 static_assert를 삽입하여, 코드 내부에서 좀더 명확히 해줄 수도 있겠습니다.&lt;/p&gt;
&lt;p&gt;&lt;!--StartFragment--&gt;
&lt;/p&gt;
&lt;div style=&quot;font-family: ����ü; font-size: 10pt; color: #f1f2f3; background: #22282a;&quot;&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp; &amp;nbsp; 1&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;class&lt;/span&gt; A&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(){};&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;~&lt;/span&gt;A&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(){};&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;static_assert&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ffcd22;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ec7600;&quot;&gt;&quot;don&#039;t use this class A - deprecated. Use A2 instead&quot;&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;// ...&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;};&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;class&lt;/span&gt; A2&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A2&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(){}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e8e2b7;&quot;&gt;~&lt;/span&gt;A2&lt;span style=&quot;color: #e8e2b7;&quot;&gt;(){}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;// ...&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;};&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;void&lt;/span&gt; Test&lt;span style=&quot;color: #e8e2b7;&quot;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;19&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A a&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;color: #66747b;&quot;&gt;//error C2338: don&#039;t use this class A - deprecated. Use A2 instead&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;21&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//...&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;22&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;23&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;24&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #93c763;&quot;&gt;int&lt;/span&gt; main&lt;span style=&quot;color: #e8e2b7;&quot;&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;25&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;26&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;//...&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;27&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Test&lt;span style=&quot;color: #e8e2b7;&quot;&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;28&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #66747b;&quot;&gt;// ...&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;29&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #93c763;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #ffcd22;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: #3f4e49; background: #293134;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;30&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #e8e2b7;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;!--EndFragment--&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;라인 6을 보면, 예전 클래스인 A 클래스 내부에, static_assert 를 삽입하고, 파라미터로 조건은 무조건 false 가 리턴되도록 0을 주고, 적절한 메시지를 줬습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;18 라인의 Test() 라는 함수에서 또 A 클래스를 쓰려고 시도합니다만, 이제는 C2338 에러를 내면서 A2 클래스를 써야 한다고 메시지 창에 보여줍니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-342-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-342-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-342-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.png&quot; alt=&quot;변경 금지&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;tt-plugin ttShareEntryWithSNS tt-sns-icon-alignment-center tt-sns-icon-size-small&quot;&gt;
	&lt;button class=&quot;ttShareEntryWithYozm&quot; id=&quot;ttServiceYozm_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;yozm&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;요즘에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithTwitter&quot; id=&quot;ttServiceTwitter_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;twitter&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;트위터에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithFacebook&quot; id=&quot;ttServiceFacebook_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;facebook&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;페이스북에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithMe2day&quot; id=&quot;ttServiceMe2day_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;me2day&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;미투데이에 보내기&lt;/span&gt;&lt;/button&gt;
&lt;/div&gt;
</description>
			<category>프로그래밍</category>
			<category>C++</category>
			<category>C++11</category>
			<author>In search of dream 꿈찾아고고씽</author>
			<guid>http://wonderfuldream.tistory.com/342</guid>
			<comments>http://wonderfuldream.tistory.com/342#entry342comment</comments>
			<pubDate>Mon, 12 Dec 2011 10:56:54 +1100</pubDate>
		</item>
	</channel>
</rss>

