三日月館【別館】開発・制作Tips集

[CPP] C++11でコンパイル時にリテラルの型チェックを行う

最終更新:

fumiduki1985

- view
管理者のみ編集可
type_traitsに含まれるstd::is_sameテンプレートを使用すると可能。
記述方法は記述例を参照のこと。

コンパイラがリテラルをどの型として判定するか確認する場合に便利。
コンパイラによるリテラルの型判定に起因する問題をデバッグする時に使えたりする。

記述例:
#include <type_traits>

// コンパイラが1000をintと判定しなかった場合に、コンパイル時にアサートが出る
static_assert(std::is_same<int, decltype(1000)>::value, "type mismatch");


このページのタグ一覧
C/CPP プログラミング

記事メニュー
ウィキ募集バナー