Ich bin die Vorlage Syntax des Formulars struct hash<template class Key>
verwendet, aber was ist der Unterschied bei der Verwendung template <> struct hash<Key>
?Vorlage Spezialisierung mit leeren Klammern und Struktur
namespace std {
template <>
struct hash<Key>
{
std::size_t operator()(const Key& k) const
{
....
}
};
}
Bitte beachten Sie, dass ich nach der Bedeutung von template <>
habe zu suchen, und ich verstehe (ich hoffe), dass es einen Weg gibt, wenn passend mit Muster des nicht angepassten Fall zu spezifizieren, sondern zusammen mit der Verwendung von struct<Key>
I verstehe die Motivation nicht.
Das ist die Syntax für Template-Spezialisierung. – melpomene
@melpomene Im Kontext von Strukturen/Klassen? Denn wenn ich eine Template-Funktion habe, würde ich sie nicht spezialisieren mit: template void foo() {} –
user695652
@ user695652 Das ist keine Spezialisierung, das ist nur eine normale Template-Deklaration. – 0x5453