std::remove_pointer
无法删除 VS2012 上的 const volatile 函数指针,这是 vs2012 中的 buf 吗?
#include "iostream"
#include <typeinfo>
using namespace std;
int main()
{
typedef void (* const cfunp_t) ();
cout<<typeid(cfunp_t).name()<<endl;
cout<<typeid(std::remove_pointer<cfunp_t>::type).name()<<endl;
return 0;
}
由 vs2012 构建的输出:
void (__cdecl*)(void)
void (__cdecl*)(void) // can not remove the const function pointer
由 mingw gcc 4.7.2 构建的输出
PFvvE
FvvE // can remove the const function pointer