Как я могу определить шаблонный класс, который дает указатель глубины / уровня типа?

Как я могу определить класс шаблона, который предоставляет целочисленную константу, представляющую «глубину» типа (указателя), предоставленного в качестве аргумента входного шаблона? Например, если класс назывался Depth , то было бы верно следующее:

Depth<int ***>::value == 3
Depth<int>::value == 0
7
задан Tim Sylvester 2 April 2011 в 01:42
поделиться