C ++ - значение оператора, объединяющего typedef и typename [duplicate]
На этот вопрос уже есть ответ здесь:
Где и почему я должен поставить «шаблон» а также "имяТипа» ключевые слова? 6 ответовВ заголовочном файле C ++ я вижу этот код:
typedef typename _Mybase::value_type value_type;
Теперь, как я понимаю, цитирую из « C ++ Полная ссылка » Шильдт.typename
может быть заменен ключевым словом class, второе использованиеtypename
должен сообщить компилятору, что имя, используемое в объявлении шаблона, является именем типа, а не именем объекта.
Точно так же вы можете определить новые имена типов данных, используя ключевое словоtypedef
, Вы на самом деле не создаете новый тип данных, а скорее определяете новое имя для существующего типа.
Тем не менее, вы можете объяснить, в чем именно смысл приведенной выше строки кода, гдеtypedef
а такжеtypename
объединены вместе А что значит ""::
в утверждении подразумевается?