最近看到一段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");
}
}
感謝!!