std::hash
関数ポインターのハッシュにC++11 型を使用できますか? hash
次のように定義された部分的な特殊化があります。
template <typename T> struct hash<T*>;
しかし、関数ポインターは C++ の他のポインター型とは異なるため (たとえば、 にキャストすることはできません)、やvoid*
のような型に使用しても安全かどうかはわかりません。int(*)()
void(*)(int, int)
これは許可されていますか?新しい ISO 仕様に、これを支持または反論する特定の文言はありますか?
ありがとう!