C ++ - значение оператора, объединяющего typedef и typename [duplicate]

На этот вопрос уже есть ответ здесь:

Где и почему я должен поставить «шаблон» а также "имяТипа» ключевые слова? 6 ответов

В заголовочном файле C ++ я вижу этот код:

typedef typename _Mybase::value_type value_type;

Теперь, как я понимаю, цитирую из « C ++ Полная ссылка » Шильдт.typename может быть заменен ключевым словом class, второе использованиеtypename должен сообщить компилятору, что имя, используемое в объявлении шаблона, является именем типа, а не именем объекта.

Точно так же вы можете определить новые имена типов данных, используя ключевое словоtypedef, Вы на самом деле не создаете новый тип данных, а скорее определяете новое имя для существующего типа.

Тем не менее, вы можете объяснить, в чем именно смысл приведенной выше строки кода, гдеtypedef а такжеtypename объединены вместе А что значит "":: в утверждении подразумевается?

Ответы на вопрос(2)

Ваш ответ на вопрос