tsu*_*uki 1 c++ void-pointers is-empty template-meta-programming void-safety
假设我有一个值:
int i = 0;
Run Code Online (Sandbox Code Playgroud)
并且有资格进行空基优化的空类:
struct Empty{
// stuff that passes
// static_assert( std::is_empty<Empty>::value );
};
Run Code Online (Sandbox Code Playgroud)
是否合法:
Empty& e = *reinterpret_cast<Empty*>(reinterpret_cast<void*>(&i)); //?
// do stuff with e
Run Code Online (Sandbox Code Playgroud)