1. 程式人生 > >C++空類的作用一

C++空類的作用一

專案裡物件比較多,需要統一無效值,也需要根據該值判斷物件的狀態,nginx 開發指南使用空類來實現所有型別無效值的統一設定為-1


class NgxUnsetValue final
{
public:
template<typename T>
operator T() const
{
return  static_cast<T>(-1)
}

template<typename T>
operator T*() const
{
return  static_cast<T>(-1)
}


static const NgxUnsetValue& get()
{
static NgxUnsetvalue const v = {};
return v;
}
};