†テンプレートクラスは、テンプレート関数およびインライン関数と同じく、「宣言と実体を別ファイルに書く」ことができません。上の注意に書いたように、メンバ関数の宣言と定義を別ファイルに書くことはできませんが、一つのファイル内で別の場所に書くことならできます。y;}もちろん、typenameが二つ以上あればメンバ関数定義のクラス名の指定にもその数だけ書きます。スタンダードテンプレートライブラリ)という物があります。これは何かというと、「便利な機能をまとめたクラスを、テンプレートを使って様々な型に適用できるようにしたもの」です。どんな型でも入る(テンプレートの機能)、自由に伸び縮みする配列(クラスを使って実装)のようなものどんな型でも入る(テンプレートの機能)、ハッシュ表(クラスを使って実装)のようなものなどがあります。残念なことに、STLは量が多く全てを網羅して使い方を解説している情報源は非常に少ないです。C++編(標準ライブラリ)』くらいしかない。Reference』がおすすめ。†C++はCの(ほぼ)上位互換であり、同じコンパイラでコンパイルできます。C++からCの関数を呼び出すには注意が必要です。未解決ですと表示され、ビルドできません。(VC++6.0に限らずどんな開発環境でもビルドできない)では、これを解決する方法を説明します。#endifこれでめでたくビルドに成功します。†なんでこんなことが必要なのか知りたい人のために解説です。C、C++のコードはコンパイラによってアセンブリ言語に変換されます。その際、各関数にあたる部分のコードのはじめには、ラベルという目印が付きます。使う必要が発生します。情報を持ったラベル名が使われます。_acharpのようになるわけです。(これは例で、実際のラベル名は符号化されてぱっと見ても引数の型がわかるようにはなっていませんが。いうラベルは見つからずエラーとなります。コンパイラに指定する働きがあります。_aとなり、めでたく関数aを見つけることができて呼び出せる、というわけです。C++モードでコンパイルすればいいということに気づきます。修正しなくてもすみます。std::endl;}};こんな感じだね。初心者サイトに載ってる例は。これだと、どんなメリットがあるのか良くわかんないんだよね。0;}実行例c:\>Sample悪が栄えた試しなし!イー!やっておしまい!ちなみに、こんなことはしちゃだめね。0;}listはSTLに含まれるコンテナで、すさまじく簡単に言ってしまえば動的な配列の一つ。{{br}}iteratorはコンテナにアクセスするためのもので、ポインタみたいに使える。実行例c:\>Sampleセリフが無いんじゃよセリフが無いんじゃよセリフが無いんじゃよ動的生成すると、ちゃんと動作するんだけど、メモリリーク対策が面倒くさい。この例ではたった3行だけどね。0;}実行例c:\>Sample悪が栄えた試しなし!イー!やっておしまい!そしてメモリリーク対策としてスマートポインタ(boostライブラリのshared_ptr)を導入してみる。0;}実行例c:\>Sample悪が栄えた試しなし!イー!やっておしまい!で、こーなってくると、動的生成部分がもーちょっとなんとかならんかなーて思うんだよね。戻り値がCharacter*な関数があれば、いろいろ便利になる。