remove_all_extents C++11中引入的类型模板, 把一个数组中的数组类型部分移除掉, 只保留元素类型部分。
int b[5][8]cout<<typeid(std::remove_all_extents<decltype(a)>::type).name()<<endl;// float//实现:template<class _Ty>struct remove_all_extents{ // remove all array extentsusing type = _Ty;};template<class _Ty, size_t _Ix>struct remove_all_extents<_Ty[_Ix]>{ // remove all array extentsusing type = typename remove_all_extents<_Ty>::type;};template<class _Ty>struct remove_all_extents<_Ty[]>{ // remove all array extentsusing type = typename remove_all_extents<_Ty>::type;};