根据cppreference,std::construct_at(T*p, Args&&... args)相当于
return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
T(std::forward<Args>(args)...);
Run Code Online (Sandbox Code Playgroud)
演员“通过”的需要/目的是什么const volatile void*?换句话说,为什么construct_at不简单地等同于
return ::new (static_cast<void*>(p))
T(std::forward<Args>(args)...);
Run Code Online (Sandbox Code Playgroud)
在哪种情况下,后一种代码会导致不良行为?