0
struct hash<template class Key>
のテンプレート構文に慣れていますが、使用するときの違いは何ですか? ?空の括弧と構造体を使用したテンプレートの特殊化
namespace std {
template <>
struct hash<Key>
{
std::size_t operator()(const Key& k) const
{
....
}
};
}
それが道だと私はtemplate <>
の意味を検索しなかったと私は(私は願って)理解していることに注意してください、struct<Key>
Iの使用と一緒に非マッチしたケースを指定するには、パターンマッチングを使用して、しかしときそれの動機を理解していない。
これはテンプレートの特殊化の構文です。 – melpomene
@melpomene構造体/クラスの文脈では? Template関数を使用している場合は、テンプレートを使用して特殊化しないでください:template void foo(){} –
user695652
@ user695652これは特殊化ではなく、通常のテンプレート宣言です。 – 0x5453