【发布时间】:2011-06-05 22:26:32
【问题描述】:
我只是想知道标准是否已经提供了一个。我知道自己做一个很容易
// for C++03, use <tr1/type_traits> and std::tr1
#include <type_traits>
template<class T>
struct remove_toplevel{
typedef typename std::remove_reference<T>::type noref_T;
typedef typename std::remove_cv<noref_T>::type noref_nocv_T;
typedef noref_nocv_T type;
};
但我想我在那里忘记了一些东西或者顺序有误,所以如果有一个准备好的,那就太好了。
【问题讨论】:
-
您可能打算将
remove_cv应用于noref_T,而不是像上面的代码中那样应用于T。 -
@Andrey:糟糕,谢谢,是一个错字。 :)
标签: c++ c++11 typetraits