<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: C++0x를 써서 Closure 다시 만들기</title>
	<atom:link href="http://rein.kr/blog/archives/2279/feed" rel="self" type="application/rss+xml" />
	<link>http://rein.kr/blog/archives/2279</link>
	<description>프로그래머, 독서가, 게이머 그리고 블로거</description>
	<lastBuildDate>Wed, 23 May 2012 12:28:12 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4-beta4-20841</generator>
	<item>
		<title>By: rein</title>
		<link>http://rein.kr/blog/archives/2279/comment-page-1#comment-73627</link>
		<dc:creator>rein</dc:creator>
		<pubDate>Mon, 18 Jul 2011 03:23:28 +0000</pubDate>
		<guid isPermaLink="false">http://rein.kr/blog/archives/2279#comment-73627</guid>
		<description>넵. 저도 구글리더에 우주괴물님 포스팅과 제 블로그 댓글이 동시에 올라오는 걸 봤습니다(?)</description>
		<content:encoded><![CDATA[<p>넵. 저도 구글리더에 우주괴물님 포스팅과 제 블로그 댓글이 동시에 올라오는 걸 봤습니다(?)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 우주괴물</title>
		<link>http://rein.kr/blog/archives/2279/comment-page-1#comment-73626</link>
		<dc:creator>우주괴물</dc:creator>
		<pubDate>Mon, 18 Jul 2011 03:11:26 +0000</pubDate>
		<guid isPermaLink="false">http://rein.kr/blog/archives/2279#comment-73626</guid>
		<description>Closure를 이용해서 Timer 이벤트를 만들어 봤습니다. ^^;
http://nomoreid.egloos.com/4601532</description>
		<content:encoded><![CDATA[<p>Closure를 이용해서 Timer 이벤트를 만들어 봤습니다. ^^;<br />
<a href="http://nomoreid.egloos.com/4601532" rel="nofollow">http://nomoreid.egloos.com/4601532</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rein</title>
		<link>http://rein.kr/blog/archives/2279/comment-page-1#comment-73376</link>
		<dc:creator>rein</dc:creator>
		<pubDate>Tue, 08 Mar 2011 10:35:44 +0000</pubDate>
		<guid isPermaLink="false">http://rein.kr/blog/archives/2279#comment-73376</guid>
		<description>성능이 떨어지는 원인은 그런데 있군요.</description>
		<content:encoded><![CDATA[<p>성능이 떨어지는 원인은 그런데 있군요.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 우주괴물</title>
		<link>http://rein.kr/blog/archives/2279/comment-page-1#comment-73375</link>
		<dc:creator>우주괴물</dc:creator>
		<pubDate>Tue, 08 Mar 2011 09:54:14 +0000</pubDate>
		<guid isPermaLink="false">http://rein.kr/blog/archives/2279#comment-73375</guid>
		<description>http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/fb56d0df-65ad-4c5c-8b6d-c943563e7d24
아래 댓글에 
Note that using std::function has significant overhead compared to the template route as it makes use of type erasure and RTTI internally at runtime, whereas the template will be statically resolved at compile time. I.e., if performance matters, don&#039;t use std::function for this.

라고 되어 있네요 std::function이 RTTI를 내부적으로 사용한다고 하네요.</description>
		<content:encoded><![CDATA[<p><a href="http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/fb56d0df-65ad-4c5c-8b6d-c943563e7d24" rel="nofollow">http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/fb56d0df-65ad-4c5c-8b6d-c943563e7d24</a><br />
아래 댓글에<br />
Note that using std::function has significant overhead compared to the template route as it makes use of type erasure and RTTI internally at runtime, whereas the template will be statically resolved at compile time. I.e., if performance matters, don&#8217;t use std::function for this.</p>
<p>라고 되어 있네요 std::function이 RTTI를 내부적으로 사용한다고 하네요.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rein</title>
		<link>http://rein.kr/blog/archives/2279/comment-page-1#comment-72359</link>
		<dc:creator>rein</dc:creator>
		<pubDate>Mon, 17 May 2010 14:48:29 +0000</pubDate>
		<guid isPermaLink="false">http://rein.kr/blog/archives/2279#comment-72359</guid>
		<description>똑같은 테스트를 32bit linux / gcc-4.5.1(prerelease) / xeon 3060(2.4Ghz) 머신에서 돌렸더니 대략 
std::function vs. lambda function =&gt; 1627ms vs. 314 ms 가 나왔다... 이쪽 오버헤드 차이가 더 크네;;</description>
		<content:encoded><![CDATA[<p>똑같은 테스트를 32bit linux / gcc-4.5.1(prerelease) / xeon 3060(2.4Ghz) 머신에서 돌렸더니 대략<br />
std::function vs. lambda function =&gt; 1627ms vs. 314 ms 가 나왔다&#8230; 이쪽 오버헤드 차이가 더 크네;;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rein</title>
		<link>http://rein.kr/blog/archives/2279/comment-page-1#comment-72357</link>
		<dc:creator>rein</dc:creator>
		<pubDate>Sun, 16 May 2010 05:01:18 +0000</pubDate>
		<guid isPermaLink="false">http://rein.kr/blog/archives/2279#comment-72357</guid>
		<description>auto, lambda, decltype 이 표준 라이브러리가 아니라 언어 명세에 포함된건 정말 쌍수를 들고 환영할 일이죠 :D

boost::function 써서 만든 코드가 있는데(...) 이걸 팀에서도 쓴 이유가 &quot;기존 코드로 하면 너무 길어서&quot;였고, 알아야하는게 템플릿 함수 하나라서 겨우 가능했던걸 생각하면, 라이브러리 형태라면 정말 포기했을꺼에요(...).</description>
		<content:encoded><![CDATA[<p>auto, lambda, decltype 이 표준 라이브러리가 아니라 언어 명세에 포함된건 정말 쌍수를 들고 환영할 일이죠 <img src='http://rein.kr/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>boost::function 써서 만든 코드가 있는데(&#8230;) 이걸 팀에서도 쓴 이유가 &#8220;기존 코드로 하면 너무 길어서&#8221;였고, 알아야하는게 템플릿 함수 하나라서 겨우 가능했던걸 생각하면, 라이브러리 형태라면 정말 포기했을꺼에요(&#8230;).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 오스카</title>
		<link>http://rein.kr/blog/archives/2279/comment-page-1#comment-72356</link>
		<dc:creator>오스카</dc:creator>
		<pubDate>Sun, 16 May 2010 02:58:42 +0000</pubDate>
		<guid isPermaLink="false">http://rein.kr/blog/archives/2279#comment-72356</guid>
		<description>auto와 lambda가 컴파일러 레벨의 기본 기능으로 들어가서 정말 감격이죠. 예전에도 boost를 써서 못할 건 없었지만, 다른 팀원을 설득하기가;;; 

그런데, 전에 C++ 0x draft 진행 관련해서 herb shutter가 쓴 글 보니까, 원래 lambda의 경우, boost::lambda 처럼 라이브러리 형태로 구현할지, 컴파일러 레벨에서 처리할지에 대해 논의가 꽤 있었다고 하더군요. boost::lambda 처럼 나왔으면, 결국 팀원들과 사용하진 못했을 듯. -0-</description>
		<content:encoded><![CDATA[<p>auto와 lambda가 컴파일러 레벨의 기본 기능으로 들어가서 정말 감격이죠. 예전에도 boost를 써서 못할 건 없었지만, 다른 팀원을 설득하기가;;; </p>
<p>그런데, 전에 C++ 0x draft 진행 관련해서 herb shutter가 쓴 글 보니까, 원래 lambda의 경우, boost::lambda 처럼 라이브러리 형태로 구현할지, 컴파일러 레벨에서 처리할지에 대해 논의가 꽤 있었다고 하더군요. boost::lambda 처럼 나왔으면, 결국 팀원들과 사용하진 못했을 듯. -0-</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rein&#039;s world</title>
		<link>http://rein.kr/blog/archives/2279/comment-page-1#comment-72352</link>
		<dc:creator>rein&#039;s world</dc:creator>
		<pubDate>Fri, 14 May 2010 09:40:02 +0000</pubDate>
		<guid isPermaLink="false">http://rein.kr/blog/archives/2279#comment-72352</guid>
		<description>&lt;strong&gt;밑 글에 이어, C++ 0x lambda를 사용한 closure 예제...&lt;/strong&gt;

바로 전 글에 이어, 두 개의 예제 차이(?)를 들어보겠다. class&#160;SomeObject&#160; { &#160;&#160;int&#160;m_value; public: &#160;&#160;SomeObject()&#160;:&#160;m_value(0)&#160;{} &#160;&#160;int&#160;Get()&#160;const&#160;{&#160;return&#160;m_value;&#160;} &#160;&#160;void...</description>
		<content:encoded><![CDATA[<p><strong>밑 글에 이어, C++ 0x lambda를 사용한 closure 예제&#8230;</strong></p>
<p>바로 전 글에 이어, 두 개의 예제 차이(?)를 들어보겠다. class&#160;SomeObject&#160; { &#160;&#160;int&#160;m_value; public: &#160;&#160;SomeObject()&#160;:&#160;m_value(0)&#160;{} &#160;&#160;int&#160;Get()&#160;const&#160;{&#160;return&#160;m_value;&#160;} &#160;&#160;void&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rein</title>
		<link>http://rein.kr/blog/archives/2279/comment-page-1#comment-72351</link>
		<dc:creator>rein</dc:creator>
		<pubDate>Fri, 14 May 2010 08:01:50 +0000</pubDate>
		<guid isPermaLink="false">http://rein.kr/blog/archives/2279#comment-72351</guid>
		<description>C++ 함수 객체 만들려고 써야하는 그 귀찮은 문법들을 생각하면 lambda 함수의 편의성은 정말 기쁨의 눈믈을 쏟아낼 지경이죠 ㅠㅠ</description>
		<content:encoded><![CDATA[<p>C++ 함수 객체 만들려고 써야하는 그 귀찮은 문법들을 생각하면 lambda 함수의 편의성은 정말 기쁨의 눈믈을 쏟아낼 지경이죠 ㅠㅠ</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rein</title>
		<link>http://rein.kr/blog/archives/2279/comment-page-1#comment-72350</link>
		<dc:creator>rein</dc:creator>
		<pubDate>Fri, 14 May 2010 08:01:09 +0000</pubDate>
		<guid isPermaLink="false">http://rein.kr/blog/archives/2279#comment-72350</guid>
		<description>이전에 지연된 함수 호출을 하기 위해 -- Java executor service 혹은 Future 비슷한 것 -- C++ 기반의 closure 클래스를 작성했습니다. 이게 예전 구현체는 boost::function (혹은 tr1에 추가된 같은 형태의 function) 템플릿을 사용해서 만들었던 물건인데, C++ 0x에 추가된 lambda 함수 문법을 이용하면 &quot;더 효율적이고, 더 사용하기 편하고, 더 알아보기 쉽게&quot; 다시 작성할 수 있다는 의미입니다.

위 코드에 실제 lambda 함수 구현체가 없어서 이게 눈에 안보이는데, &lt;del datetime=&quot;2010-05-14T09:40:23+00:00&quot;&gt;이건 곧(?)글로 쓰도록 하겠습니다.&lt;/del&gt;

해당 글을 작성했습니다. 참고하세요 ~_~</description>
		<content:encoded><![CDATA[<p>이전에 지연된 함수 호출을 하기 위해 &#8212; Java executor service 혹은 Future 비슷한 것 &#8212; C++ 기반의 closure 클래스를 작성했습니다. 이게 예전 구현체는 boost::function (혹은 tr1에 추가된 같은 형태의 function) 템플릿을 사용해서 만들었던 물건인데, C++ 0x에 추가된 lambda 함수 문법을 이용하면 &#8220;더 효율적이고, 더 사용하기 편하고, 더 알아보기 쉽게&#8221; 다시 작성할 수 있다는 의미입니다.</p>
<p>위 코드에 실제 lambda 함수 구현체가 없어서 이게 눈에 안보이는데, <del datetime="2010-05-14T09:40:23+00:00">이건 곧(?)글로 쓰도록 하겠습니다.</del></p>
<p>해당 글을 작성했습니다. 참고하세요 ~_~</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: summerlight</title>
		<link>http://rein.kr/blog/archives/2279/comment-page-1#comment-72349</link>
		<dc:creator>summerlight</dc:creator>
		<pubDate>Fri, 14 May 2010 04:53:09 +0000</pubDate>
		<guid isPermaLink="false">http://rein.kr/blog/archives/2279#comment-72349</guid>
		<description>사실 람다 자체는 기존 C++의 함수 객체에도 1:1로 매핑이 되는 내용이지만 언어 자체에서 이렇게 지원해준다는게 표현력에 있어서 정말 큰 차이를 가져오는 것 같습니다. 예전에 런타임에서도 좀 제네릭한 코드 하나 쓰려면 얼마나 삽질을 했어야 하는지 (...)</description>
		<content:encoded><![CDATA[<p>사실 람다 자체는 기존 C++의 함수 객체에도 1:1로 매핑이 되는 내용이지만 언어 자체에서 이렇게 지원해준다는게 표현력에 있어서 정말 큰 차이를 가져오는 것 같습니다. 예전에 런타임에서도 좀 제네릭한 코드 하나 쓰려면 얼마나 삽질을 했어야 하는지 (&#8230;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: nana</title>
		<link>http://rein.kr/blog/archives/2279/comment-page-1#comment-72348</link>
		<dc:creator>nana</dc:creator>
		<pubDate>Fri, 14 May 2010 02:19:46 +0000</pubDate>
		<guid isPermaLink="false">http://rein.kr/blog/archives/2279#comment-72348</guid>
		<description>안녕하세요. RSS 구독자 입니다. 매번 좋은 글 잘 읽고 있습니다.
다름이 아니오라 지금 말씀하신 방식이 C++0x 와 어떤 연관이 있는지 궁금해서 질문 드립니다.</description>
		<content:encoded><![CDATA[<p>안녕하세요. RSS 구독자 입니다. 매번 좋은 글 잘 읽고 있습니다.<br />
다름이 아니오라 지금 말씀하신 방식이 C++0x 와 어떤 연관이 있는지 궁금해서 질문 드립니다.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

