template での参照型と値型
気になったのでテスト
template<class T> struct is_reference { static const bool value = false; }; template<class T> struct is_reference<T&> { static const bool value = true; }; template<class T> void Func(T value) { ::printf("%s", is_reference<T>::value ? "参照型" : "値型"); } enum EValue { hoge, }; void main() { EValue value = hoge; EValue& value2 = value; Func(value2); }
値型
まじっすか。明示的に書かないとダメっすか。
ちょっと明示的に書くを忘れてたらアウトですか。