В заголовочном файле С++ я вижу этот код:
typedef typename _Mybase::value_type value_type;
Теперь, как я понимаю, цитата из "С++ Complete Reference" Шильдта. typename может быть заменен классом ключевых слов, второе использование typename заключается в том, чтобы сообщить компилятору, что имя, используемое в объявлении шаблона, является именем типа, а не именем объекта.
Аналогично, вы можете определить новые имена типов данных, используя ключевое слово typedef. Ты не
фактически создавая новый тип данных, а скорее определяя новое имя для существующего
тип.
Однако, можете ли вы точно объяснить, что означает приведенная выше строка кода, где typedef и typename объединены вместе. А что означает "::" в заявлении?