In 11 di serie C++ (clausola 3.3.9/3) ho trovato questo frammento di codice:chiamato entità come puntatore al T in lista parametri template
template<class T, T* p, class U = T> class X { /∗ ... ∗/ };
Qualcuno può spiegare per me che possibile (e utile) il codice può contenere nel corpo della classe X? Con l'utilizzo del parametro p
ofcourse.
IMHO lo snippet è solo lì per dimostrare che i parametri del modello possono dipendere da un parametro template precedente. –
@ πάντα ῥεῖ, lo so. Ma quando ho visto il puntatore come parametro template con nome ho pensato: "In quali casi questo può essere utile"? e non è stato possibile trovare la risposta tranne in questo modo: 'constexpr T * ptr = nullptr;' e quindi usare 'ptr' come parametro. – alexolut
Sì, o qualsiasi altro indirizzo costante ragionevole e valido (prendere in considerazione la possibilità di accedere al bare metal, ad esempio interfacce bus estese, ecc.). –