Как и в контейнерах stl, почему мы не можем получить доступ к typedef внутри класса из экземпляра класса? Есть ли конкретное понимание этого?
Когда value_type является параметром шаблона, он может помочь в создании более общего кода, если нет необходимости указывать параметры шаблона, как в vector :: value_type
Пример:
class T {
public:
typedef int value_type;
value_type i;
};
T t;
T::value_type i; // ok
t.value_type i; // won't work