三日月館【別館】開発・制作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");