用来声明 template type parameter 时,没区别
用在 type specifier 中, typename 只能用于 qualified-id 之前,指定这个 qualified-id 表示一个类型。 class 可以用于 qualified-id 之前也可以用于 unqualified-id 之前,指定这个 qualified-id 表示一个 class-name(不是 typedef-name),对于 unqualified-id ,如果 name lookup 找不到它的 declaration ,可能就地 declare 这个 class-name