Reference: Can I use memcpy in C++ to copy classes that have no pointers or virtual functions
The above thread caused a storm surrounding the viability of straight memcpying non std::is_pod (plain old data) structs/classes, however, isn't std::is_trivially_copyable sufficient to allow the memcpy of an array of classes?
The implication being that you can have private members, user defined constructors, etc without causing UB.
MyClass Array1[10];
MyClass Array2[10];
static_assert(std::is_trivially_copyable<MyClass >::value, "memcpy not safe");
memcpy(Array1,Array2,10 * sizeof(MyClass));