给定 astd::optional<T>
是否可以std::optional<T>
从 的地址推导出 的地址T
?
可能的实现:
template<typename T>
struct myoptional
{ static std::size_t getOffset(void)
{ static const myoptional<T> s(std::inplace());
return reinterpret_cast<const char*>(&s.value())
- reinterpret_cast<const char*>(&s);
};
};