最近看到一段code,我猜作用应该是检查是否有noexcept属性,所以用自己的方式写了一下
请问这样的确可以在compile time检查这个class嘛??
其实我也不是很懂原理,这个new是让compiler会启动class 检查嘛??
不确定这样做没问题嘛?
#include <iostream>
class TEST{
public:
TEST(){
throw 100;
}
};
int main()
{
if(noexcept(new (static_cast<TEST*>(nullptr)) TEST()))
{
printf("noexcept\n");
}else{
printf("not noexcept\n");
}
}
感谢!!