お約束 Edit

名前空間 Edit

STLのテンプレートクラスは全て名前空間stdに定義されているので、以下のコードを書いておくこと。

using namespace std;

テンプレートクラスのtypedef Edit

テンプレートクラスを使うときはコードが長くなりがちなので、予め使用する型をtypedefしておくとよい。
例)

typedef vector<int> IntVector;

警告C4786の抑制 Edit

VC6でSTLを使用すると、自動生成される変数名が長すぎる旨の警告C4786が多発してしまう可能性がある。
警告を抑制するために、以下のコードを stdafx.h 等に書いておくとよい。

#pragma warning(disable:4786)

テンプレートクラスの汎用型に用いる自作クラス Edit

汎用型として用いる自作クラスは以下のことを意識すること。

  • デフォルトコンストラクタ
  • コピーコンストラクタ
  • デストラクタ

特別な処理をしない単純なクラスであればコンパイラが自動付与するもので充分だが、メンバ変数のメモリ確保をするようなクラスの場合は注意が必要。

また、必須ではないが意識したほうがよいこと。

  • =演算子のオーバーロード

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-05-26 (土) 13:22:16 (2180d)