就是这样
typename unwrap<std::vector<int>>::type // int
我这里粗糙的试了一下好像不行
#include <type_traits>
#include <vector>
template <typename T>
struct unwrap {
using type = T;
};
template <typename wrapper, typename T>
struct unwrap<wrapper<T>> {
using type = T;
};
int main(int argc, char* argv[]) {
typename unwrap<std::vector<int>>::type a = 0;
}