<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>いちばんやさしいゲームの作り方 &#187; template</title>
	<atom:link href="http://www.game-create.com/archives/tag/template/feed" rel="self" type="application/rss+xml" />
	<link>http://www.game-create.com</link>
	<description>文系の人でも、数理学がわからない人でもゲームプログラミングをマスターできるブログ</description>
	<lastBuildDate>Tue, 08 Jun 2010 01:28:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>クラステンプレートは型推論しない？</title>
		<link>http://www.game-create.com/archives/1804</link>
		<comments>http://www.game-create.com/archives/1804#comments</comments>
		<pubDate>Thu, 11 Jun 2009 14:08:50 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1804</guid>
		<description><![CDATA[…で、ファイナルアンサーだろうか。

確かに、何を基準に型を自動判別すればいいのかという基本的な疑問があります。ヘルパー関数というのはそのために作るのだろうか。
#include &#60;iostream&#62;

 [...]]]></description>
			<content:encoded><![CDATA[<p>…で、ファイナルアンサーだろうか。</p>
<p><span id="more-1804"></span></p>
<p>確かに、何を基準に型を自動判別すればいいのかという基本的な疑問があります。ヘルパー関数というのはそのために作るのだろうか。</p>
<div class="hl-surround" style="height:280px;"><div class="hl-main"><pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-prepro">



</span><span class="hl-types">class </span><span class="hl-identifier">IEventHandler
</span><span class="hl-brackets">{
</span><span class="hl-reserved">public</span><span class="hl-code">:
  </span><span class="hl-types">virtual</span><span class="hl-code"> ~</span><span class="hl-identifier">IEventHandler</span><span class="hl-brackets">() {}
  </span><span class="hl-types">virtual void </span><span class="hl-reserved">operator</span><span class="hl-brackets">()() </span><span class="hl-types">const</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-default">;



</span><span class="hl-types">template</span><span class="hl-default"> &lt;</span><span class="hl-types">class </span><span class="hl-identifier">T</span><span class="hl-default">&gt;
</span><span class="hl-types">class </span><span class="hl-identifier">EventHandler</span><span class="hl-default"> : </span><span class="hl-reserved">public </span><span class="hl-identifier">IEventHandler
</span><span class="hl-brackets">{
</span><span class="hl-reserved">public</span><span class="hl-code">:
  </span><span class="hl-types">typedef void </span><span class="hl-brackets">(</span><span class="hl-identifier">T</span><span class="hl-code">::*</span><span class="hl-identifier">Method</span><span class="hl-brackets">)()</span><span class="hl-code">;
</span><span class="hl-reserved">private</span><span class="hl-code">:
  </span><span class="hl-identifier">T</span><span class="hl-code">      *</span><span class="hl-identifier">object</span><span class="hl-code">;
  </span><span class="hl-identifier">Method  method</span><span class="hl-code">;
</span><span class="hl-reserved">public</span><span class="hl-code">:
  </span><span class="hl-identifier">EventHandler</span><span class="hl-brackets">(</span><span class="hl-identifier">T</span><span class="hl-code"> *</span><span class="hl-identifier">object</span><span class="hl-code">, </span><span class="hl-identifier">Method method</span><span class="hl-brackets">)</span><span class="hl-code">;
  </span><span class="hl-types">virtual void </span><span class="hl-reserved">operator</span><span class="hl-brackets">()() </span><span class="hl-types">const</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-default">;

</span><span class="hl-types">template</span><span class="hl-default"> &lt;</span><span class="hl-types">class </span><span class="hl-identifier">T</span><span class="hl-default">&gt;
</span><span class="hl-identifier">EventHandler</span><span class="hl-default">&lt;</span><span class="hl-identifier">T</span><span class="hl-default">&gt;::</span><span class="hl-identifier">EventHandler</span><span class="hl-brackets">(</span><span class="hl-identifier">T</span><span class="hl-code"> *</span><span class="hl-identifier">object</span><span class="hl-code">, </span><span class="hl-identifier">Method method</span><span class="hl-brackets">)</span><span class="hl-default"> : </span><span class="hl-identifier">object</span><span class="hl-brackets">(</span><span class="hl-identifier">object</span><span class="hl-brackets">)</span><span class="hl-default">, </span><span class="hl-identifier">method</span><span class="hl-brackets">(</span><span class="hl-identifier">method</span><span class="hl-brackets">)
{
}

</span><span class="hl-types">template</span><span class="hl-default"> &lt;</span><span class="hl-types">class </span><span class="hl-identifier">T</span><span class="hl-default">&gt;
</span><span class="hl-types">void </span><span class="hl-identifier">EventHandler</span><span class="hl-default">&lt;</span><span class="hl-identifier">T</span><span class="hl-default">&gt;::</span><span class="hl-reserved">operator</span><span class="hl-brackets">()() </span><span class="hl-types">const
</span><span class="hl-brackets">{
  (</span><span class="hl-reserved">this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">object</span><span class="hl-code">-&gt;*</span><span class="hl-reserved">this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">method</span><span class="hl-brackets">)()</span><span class="hl-code">;
</span><span class="hl-brackets">}

</span><span class="hl-types">template</span><span class="hl-default"> &lt;</span><span class="hl-types">class </span><span class="hl-identifier">T</span><span class="hl-default">&gt;
</span><span class="hl-identifier">IEventHandler</span><span class="hl-default"> *</span><span class="hl-identifier">CreateEventHandler</span><span class="hl-brackets">(</span><span class="hl-identifier">T</span><span class="hl-code"> *</span><span class="hl-identifier">object</span><span class="hl-code">, </span><span class="hl-types">typename </span><span class="hl-identifier">EventHandler</span><span class="hl-code">&lt;</span><span class="hl-identifier">T</span><span class="hl-code">&gt;::</span><span class="hl-identifier">Method method</span><span class="hl-brackets">)
{
  </span><span class="hl-reserved">return new </span><span class="hl-identifier">EventHandler</span><span class="hl-code">&lt;</span><span class="hl-identifier">T</span><span class="hl-code">&gt;</span><span class="hl-brackets">(</span><span class="hl-identifier">object</span><span class="hl-code">, </span><span class="hl-identifier">method</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}



</span><span class="hl-types">class </span><span class="hl-identifier">Unko
</span><span class="hl-brackets">{
</span><span class="hl-reserved">public</span><span class="hl-code">:
  </span><span class="hl-types">void </span><span class="hl-identifier">geri</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-default">;

</span><span class="hl-types">void </span><span class="hl-identifier">Unko</span><span class="hl-default">::</span><span class="hl-identifier">geri</span><span class="hl-brackets">()
{
  </span><span class="hl-identifier">std</span><span class="hl-code">::</span><span class="hl-identifier">cout</span><span class="hl-code"> &lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">下痢したぜ！</span><span class="hl-quotes">&quot;</span><span class="hl-code"> &lt;&lt;</span><span class="hl-identifier">std</span><span class="hl-code">::</span><span class="hl-identifier">endl</span><span class="hl-code">;
</span><span class="hl-brackets">}



</span><span class="hl-types">class </span><span class="hl-identifier">Chinco
</span><span class="hl-brackets">{
</span><span class="hl-reserved">public</span><span class="hl-code">:
  </span><span class="hl-types">void </span><span class="hl-identifier">daaa</span><span class="hl-brackets">()</span><span class="hl-code">;
  </span><span class="hl-types">void </span><span class="hl-identifier">daaa0000</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-default">;

</span><span class="hl-types">void </span><span class="hl-identifier">Chinco</span><span class="hl-default">::</span><span class="hl-identifier">daaa</span><span class="hl-brackets">()
{
  </span><span class="hl-identifier">std</span><span class="hl-code">::</span><span class="hl-identifier">cout</span><span class="hl-code"> &lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">だぁぁぁぁ！</span><span class="hl-quotes">&quot;</span><span class="hl-code"> &lt;&lt;</span><span class="hl-identifier">std</span><span class="hl-code">::</span><span class="hl-identifier">endl</span><span class="hl-code">;
</span><span class="hl-brackets">}

</span><span class="hl-types">void </span><span class="hl-identifier">Chinco</span><span class="hl-default">::</span><span class="hl-identifier">daaa0000</span><span class="hl-brackets">()
{
  </span><span class="hl-identifier">std</span><span class="hl-code">::</span><span class="hl-identifier">cout</span><span class="hl-code"> &lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">だぁぁぁぁああああああああああああ！</span><span class="hl-quotes">&quot;</span><span class="hl-code"> &lt;&lt;</span><span class="hl-identifier">std</span><span class="hl-code">::</span><span class="hl-identifier">endl</span><span class="hl-code">;
</span><span class="hl-brackets">}



</span><span class="hl-types">int </span><span class="hl-identifier">main</span><span class="hl-brackets">(</span><span class="hl-types">int </span><span class="hl-identifier">argc</span><span class="hl-code">, </span><span class="hl-types">char</span><span class="hl-code"> *</span><span class="hl-identifier">argv</span><span class="hl-brackets">[])
{
  </span><span class="hl-identifier">IEventHandler</span><span class="hl-code"> *</span><span class="hl-identifier">handlers</span><span class="hl-brackets">[</span><span class="hl-number">3</span><span class="hl-brackets">]</span><span class="hl-code">;

  </span><span class="hl-identifier">Unko</span><span class="hl-code">   *</span><span class="hl-identifier">unko</span><span class="hl-code">   = </span><span class="hl-reserved">new </span><span class="hl-identifier">Unko</span><span class="hl-brackets">()</span><span class="hl-code">;
  </span><span class="hl-identifier">Chinco</span><span class="hl-code"> *</span><span class="hl-identifier">chinco</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">Chinco</span><span class="hl-brackets">()</span><span class="hl-code">;

  </span><span class="hl-identifier">handlers</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-identifier">CreateEventHandler</span><span class="hl-brackets">(</span><span class="hl-identifier">unko</span><span class="hl-code">, &amp;</span><span class="hl-identifier">Unko</span><span class="hl-code">::</span><span class="hl-identifier">geri</span><span class="hl-brackets">)</span><span class="hl-code">;
  </span><span class="hl-identifier">handlers</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-identifier">CreateEventHandler</span><span class="hl-brackets">(</span><span class="hl-identifier">chinco</span><span class="hl-code">, &amp;</span><span class="hl-identifier">Chinco</span><span class="hl-code">::</span><span class="hl-identifier">daaa</span><span class="hl-brackets">)</span><span class="hl-code">;
  </span><span class="hl-identifier">handlers</span><span class="hl-brackets">[</span><span class="hl-number">2</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-identifier">CreateEventHandler</span><span class="hl-brackets">(</span><span class="hl-identifier">chinco</span><span class="hl-code">, &amp;</span><span class="hl-identifier">Chinco</span><span class="hl-code">::</span><span class="hl-identifier">daaa0000</span><span class="hl-brackets">)</span><span class="hl-code">;

  </span><span class="hl-reserved">for </span><span class="hl-brackets">(</span><span class="hl-types">int </span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt;</span><span class="hl-brackets">(</span><span class="hl-reserved">sizeof</span><span class="hl-brackets">(</span><span class="hl-identifier">handlers</span><span class="hl-brackets">)</span><span class="hl-code"> / </span><span class="hl-reserved">sizeof</span><span class="hl-brackets">(</span><span class="hl-identifier">IEventHandler</span><span class="hl-code"> *</span><span class="hl-brackets">))</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">) {
    (</span><span class="hl-code">*</span><span class="hl-identifier">handlers</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">])()</span><span class="hl-code">;
  </span><span class="hl-brackets">}

  </span><span class="hl-reserved">for </span><span class="hl-brackets">(</span><span class="hl-types">int </span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt;</span><span class="hl-brackets">(</span><span class="hl-reserved">sizeof</span><span class="hl-brackets">(</span><span class="hl-identifier">handlers</span><span class="hl-brackets">)</span><span class="hl-code"> / </span><span class="hl-reserved">sizeof</span><span class="hl-brackets">(</span><span class="hl-identifier">IEventHandler</span><span class="hl-code"> *</span><span class="hl-brackets">))</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">) {
    </span><span class="hl-reserved">delete </span><span class="hl-identifier">handlers</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code">;
  </span><span class="hl-brackets">}

  </span><span class="hl-reserved">delete </span><span class="hl-identifier">chinco</span><span class="hl-code">;
  </span><span class="hl-reserved">delete </span><span class="hl-identifier">unko</span><span class="hl-code">;

  </span><span class="hl-reserved">return </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-brackets">}</span></pre></div></div>
<p>ここでいう CreateEventHandler() 関数がそれです。こいつのおかげでクラスを作るのに型を指定しなくて良いようになっています。もちろん new EventHandler&lt;Unko&gt;(unko, &amp;Unko::geri) って書けば良いんですけど、それが悔しい人向け。</p>
<p>余談ですが、イベントハンドラはスマートポインタに渡した方がいいんじゃねぇか論が熱いですね。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1804/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Boost って結局はライブラリでしょ？</title>
		<link>http://www.game-create.com/archives/1707</link>
		<comments>http://www.game-create.com/archives/1707#comments</comments>
		<pubDate>Sun, 17 May 2009 12:42:36 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[Boost]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Generics]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[ライブラリ]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1707</guid>
		<description><![CDATA[…というご指摘があるかもしれません。

わかります。私もプログラミングを学び始めた頃は、理解のためにライブラリに頼らない方向で考えていました。でも、 Boost は別格ですので、ぜひとも利用を検討してみて下さい。
まず、 [...]]]></description>
			<content:encoded><![CDATA[<p>…というご指摘があるかもしれません。</p>
<p><span id="more-1707"></span></p>
<p>わかります。私もプログラミングを学び始めた頃は、理解のためにライブラリに頼らない方向で考えていました。でも、 Boost は別格ですので、ぜひとも利用を検討してみて下さい。</p>
<p>まず、 Boost は作ってる人からして違います。 Boost は C++ 標準に大きく関わる方々が更新しています。時期 C++ 標準に Boost のアイデアが入ることすらあります（実際に C++0x でも Boost のアイデアが取り入れられています）。いわば規格公認のライブラリとでも申しましょうか。</p>
<p>もう、私は言語の一部と思って使うことにしました。他の言語でも Generics が台頭してきてますし、 C++ を知らない人に「これは全く未知のパラダイムだ！」と思われることもなくなってくると思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1707/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>続続・「C++テンプレートテクニック」面白いです</title>
		<link>http://www.game-create.com/archives/1704</link>
		<comments>http://www.game-create.com/archives/1704#comments</comments>
		<pubDate>Fri, 15 May 2009 17:18:30 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[書籍]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1704</guid>
		<description><![CDATA[まさかの三連投。実は「続」とか「続続」とか書いてみたかっただけなんです。

テンプレートを使ったプロパティの実装案が提案されていることに驚きました。
たぶん、他の言語でプロパティを使ったことがある方は「 C++ であれを [...]]]></description>
			<content:encoded><![CDATA[<p>まさかの三連投。実は「続」とか「続続」とか書いてみたかっただけなんです。</p>
<p><span id="more-1704"></span></p>
<p>テンプレートを使ったプロパティの実装案が提案されていることに驚きました。</p>
<p>たぶん、他の言語でプロパティを使ったことがある方は「 C++ であれをやるためにはどうしたらいいか？」とか一度は考えるかと思いますが、掲載されている方法はわかりやすくて簡潔でした。あれはテンプレートの解説例としても良いですよね。</p>
<p>プロパティ、周囲の反対がなければ使っていこうと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1704/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>続・「C++テンプレートテクニック」面白いです</title>
		<link>http://www.game-create.com/archives/1701</link>
		<comments>http://www.game-create.com/archives/1701#comments</comments>
		<pubDate>Thu, 14 May 2009 17:11:39 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[書籍]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1701</guid>
		<description><![CDATA[ポリシー、熱いですね。

これ使うと、鬼のようなプリプロセッサを書かずに実装を交換できるようになりますね。ほとんど yomogi さんに作ってもらったので全く予定無いのですが、どうやって描画システムを交換できるようにしよ [...]]]></description>
			<content:encoded><![CDATA[<p>ポリシー、熱いですね。</p>
<p><span id="more-1701"></span></p>
<p>これ使うと、鬼のようなプリプロセッサを書かずに実装を交換できるようになりますね。ほとんど yomogi さんに作ってもらったので全く予定無いのですが、どうやって描画システムを交換できるようにしようか迷っていたのですが、解決しそうです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1701/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>「C++テンプレートテクニック」面白いです</title>
		<link>http://www.game-create.com/archives/1697</link>
		<comments>http://www.game-create.com/archives/1697#comments</comments>
		<pubDate>Wed, 13 May 2009 16:44:56 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[メルマガ]]></category>
		<category><![CDATA[書籍]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1697</guid>
		<description><![CDATA[良い本です。非常にためになります。

読んでてひとつ気がついたのですが、 C++ 初学者の方が読みづらいポイントというのがあって、「仕様を表現する方法も本番さながら」という C++ のスタイルについていつかメルマガで解説 [...]]]></description>
			<content:encoded><![CDATA[<p>良い本です。非常にためになります。</p>
<p><span id="more-1697"></span></p>
<p>読んでてひとつ気がついたのですが、 C++ 初学者の方が読みづらいポイントというのがあって、「仕様を表現する方法も本番さながら」という C++ のスタイルについていつかメルマガで解説せねばと思いました。</p>
<p>いつもながら、うまい言い方が思いつきません、なんて言ったらいいのだろう…</p>
<p>たとえば関数へのポインタ型を typedef するのに…</p>
<div class="hl-surround" style="height:16.8px;"><div class="hl-main"><pre><span class="hl-types">typedef int </span><span class="hl-brackets">(</span><span class="hl-code">*</span><span class="hl-identifier">DrawerFunction</span><span class="hl-brackets">)(</span><span class="hl-identifier">Renderer</span><span class="hl-code"> *, </span><span class="hl-identifier">Target</span><span class="hl-code"> *</span><span class="hl-brackets">)</span><span class="hl-default">;</span></pre></div></div>
<p>…みたいに書くのが最初わかりづらかったんです（あと配列へのポインタとか）。でも、今なら「どんなインタフェースを持つ関数なのか、本当にそこに作るつもりで書いて、シンボル名が新しい型になる、ポインタなので * をつける」と割り切ってから迷わなくなりました。</p>
<p>関数へのポインタはすでに登場しているのですが、あの辺、迷ってない人がいるとしたらすごい才能だと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1697/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ついに来た C++ のテンプレート本！</title>
		<link>http://www.game-create.com/archives/1524</link>
		<comments>http://www.game-create.com/archives/1524#comments</comments>
		<pubDate>Sun, 19 Apr 2009 12:20:03 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[書籍]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1524</guid>
		<description><![CDATA[もう、ダウンキャストを無くすためだけのテンプレートじゃありません。


ありがとう、なかのひと。
Modern C++ Design を読む前にこれで基礎体力をつけましょう。
余談なのですが、なかなか Modern C+ [...]]]></description>
			<content:encoded><![CDATA[<p>もう、ダウンキャストを無くすためだけのテンプレートじゃありません。</p>
<p><span id="more-1524"></span></p>
<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=game-create-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4797354534&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" class="left"></iframe></p>
<p>ありがとう、なかのひと。</p>
<p>Modern C++ Design を読む前にこれで基礎体力をつけましょう。</p>
<p>余談なのですが、なかなか Modern C++ Design が綺麗な状態で売っていません。みんな、一度は手にとって中身を確認するものの「やっぱりやめよう…」と本棚に戻されるのでしょうか。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1524/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>諦めて Modern C++ Design を買うことにしました</title>
		<link>http://www.game-create.com/archives/1288</link>
		<comments>http://www.game-create.com/archives/1288#comments</comments>
		<pubDate>Wed, 04 Feb 2009 10:08:04 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Generics]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[書籍]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1288</guid>
		<description><![CDATA[やっぱり、あんまり良い本がありませんでした。


果たして天国か地獄か？
天国を見れればそれで良し、地獄を見てしまうようなら所詮それまでの男だったと言うことです。
]]></description>
			<content:encoded><![CDATA[<p>やっぱり、あんまり良い本がありませんでした。</p>
<p><span id="more-1288"></span></p>
<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=game-create-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4894714353&#038;md=1X69VDGQCMF7Z30FM082&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" class="left"></iframe></p>
<p>果たして天国か地獄か？</p>
<p>天国を見れればそれで良し、地獄を見てしまうようなら所詮それまでの男だったと言うことです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1288/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>誰かメタプログラミングの良い本を教えてください</title>
		<link>http://www.game-create.com/archives/1045</link>
		<comments>http://www.game-create.com/archives/1045#comments</comments>
		<pubDate>Sun, 07 Dec 2008 02:54:03 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Generics]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[書籍]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1045</guid>
		<description><![CDATA[Java 使いの後輩から、「先輩、 Generics って何が良いんですか？」と訊かれて答えに窮した結果、「コレクションからデータを出すときにダウンキャストしなくて済むんだよ、後はググれッ！」と言ってしまいました。難しい [...]]]></description>
			<content:encoded><![CDATA[<p>Java 使いの後輩から、「先輩、 Generics って何が良いんですか？」と訊かれて答えに窮した結果、「コレクションからデータを出すときにダウンキャストしなくて済むんだよ、後はググれッ！」と言ってしまいました。難しいんですよね、メタプログラミング。何か良い本買って勉強せねば…</p>
<p><span id="more-1045"></span></p>
<p>一応、良書はあって Modern C++ Design という本なのですが、内容が難しい部類に入ります。言語の規格をハックし尽くしたとも言える内容は時としてコンパイルエラーになったほどです（だいぶ昔の話なので、たぶん今は大丈夫だと思います）。</p>
<p>もっと若いうちに勉強しておけば良かった…、ちくしょー。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1045/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

