cercando di imparare di più su come la libreria standard è effettivamente implementata sto ispezionando tutti i contenitori in Visual Studio .. Qui vedo un po 'curiosa struttura:cosa fa (template) rebind <> do?
In alcuni classe base di un std::list<>
Il seguente typedef si trova
typedef typename _Alloc::template rebind<_Ty>::other _Alty;
Dove "_Alloc" corrisponde all'argomento del template di allocatore (e _Ty il tipo contenuto). Ho difficoltà a trovare una buona spiegazione di questa "parola chiave". La cosa migliore che ho trovato finora è che fa parte dell'interfaccia di allocatore. Sebbene anche lo cppreference non sia molto buono nello spiegare questo.
Cosa fa questo template rebind<>
? E perché è necessario in quella posizione?
Correlato, vedere [Perché è necessario allocatore: eseguire nuovamente il rebind quando sono disponibili i parametri modello modello?] (Http://stackoverflow.com/q/12362363) – jww