Usos de parâmetros de modelo não tipográficos de ponteiros?
Alguém já usou parâmetros de modelo de ponteiros / referências / ponteiro para membro (não-tipo)?
Eu não estou ciente de nenhum cenário (sane / real-world) em que esse recurso C ++ deve ser usado como uma prática recomendada.
Estação do Demonstation do recurso (para ponteiros):
template <int* Pointer> struct SomeStruct {};
int someGlobal = 5;
SomeStruct<&someGlobal> someStruct; // legal c++ code, what's the use?
Qualquer iluminação será muito apreciada!