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?
https://en.cppreference.com/w/cpp/language/destructor#Trivial_destructor
“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?
Jonas