Was macht (Template-) Rebind <>?
versuche mehr darüber zu erfahren, wie die Standardbibliothek tatsächlich implementiert ist. Ich inspiziere alle Container in Visual Studio. Hier sehe ich eine merkwürdige Struktur:
In einer Basisklasse von astd::list<>
Das folgende typedef wird gefunden
typedef typename _Alloc::template rebind<_Ty>::other _Alty;
Dabei entspricht "_Alloc" dem Argument der Zuweisungsvorlage (und _Ty dem enthaltenen Typ). Ich habe Probleme, eine gute Erklärung für dieses "Schlüsselwort" zu finden. Das Beste, was ich bisher gefunden habe, ist, dass es Teil der Allokator-Schnittstelle ist. Obwohl sogarcppreference ist nicht sehr gut zu erklären.
Was macht dastemplate rebind<>
tun? Und warum ist es an diesem Ort notwendig?