C++クラスのテンプレート化バージョンを作成する必要があるコンピュータサイエンスクラスに課題があります。私たちのインストラクターは、私たちにこの問題に関する指示を少しも与えてくれませんでした。Visual Studio 2015ソリューションでC++テンプレートを実装する正しい方法は何ですか?
私は本の著作からコードを作成したようですが、私が使用したアプローチが適切であるかどうかはわかりません。
基本的に、本で提供する例は、標準データ型(int、char、stringなど)を格納するために使用される単純なコンテナである「bag」クラスです。このクラスのテンプレート化バージョンは、header5.hというヘッダファイルで宣言され、実装はbag5.templateという.templateファイルで与えられます。ヘッダは、ヘッダーの最後のほうにあるこの行を使用して.templateファイルからコードを取得します。
#include "bag5.template"
。
最初は、Visual Studio 2015を使用しているC++ソリューションに.templateタイプのファイルを実装する方法がわかりませんでした。私は答えを探しましたが、残念ながら「Visual Studio」と「テンプレート」という用語を検索していますビジュアルスタジオプロジェクト用のテンプレートを作成する方法はほとんど無限でしたが、Visual Studioで汎用C++テンプレートを適切に実装することはほとんどありませんでした。
試行錯誤を経て、私は最終的に.templateファイルをC++ソースファイルではなく "text"タイプのファイルとしてソリューションに追加することで、動作するソースコードを得ました。私の質問は簡単です:Visual Studio 2015を使用して宣言されたテンプレートの定義を実装する正しい方法ですか?
また、Visual Studio 2015に.templateファイルをC++コードとして認識させ、それに応じてフォーマットする方法はありますか? .template実装ファイルをソリューション内の "text"タイプとして追加すると、IDEはファイル内のテキストを色付けしません。白いテキストには完全に黒くなります。
ようこそstackoverflow.com [ヘルプページ](http://stackoverflow.com/help)、特に[ここではどのトピックを聞くことができますか?](http://stackoverflow.com/help/)のセクションを読んでください。 「どのような種類の質問をしないでください?"](http://stackoverflow.com/help/dont-ask)。また、[良い質問をする方法について読む](http://stackoverflow.com/help/how-to-ask)と、 –
ソリューションエクスプローラで* .template *ファイルを右クリックして、* Open With ...を選択してください。*(* .template *そして、* "C++ソースコードエディタ(Defaut)" *をエディタのリストから選択すると、構文の強調表示が適切に適用され、IntelliSenseサポートが有効になります – IInspectable
IInspectable、VS 2015でそのオプションが与えられないのですか? "XMLエディタ"、 "ソースコードエディタ"、 "HTMLエディタ"のオプションはありますが、C++では使用できません。私の.cppファイルで "open"を実行するとC++ソースコードエディタがオプションとして表示されます。 .templateファイル。 – Rob