For the constructors, the runtime is doing kind of an implicit trivial copy constructor by memcpy’ing. Could you explain (or hint to an explanation) why we need a default constructor, ie T::T() in my previous example?
“A trivial destructor is a destructor that performs no action.”
This is guaranteed for “trivially copyable” types. Do you agree that we are fine with a trivial destructor?