所以根据上述两条分析,
typedef typename RefBase::weakref_type weakref_type;
语句的真是面目是: typedef创建了存在类型的别名,而typename告诉编译器RefBase::weakref_type是一个类型而不是一个成员。
typedef
typename