memcpy
型が自明にコピー可能でない限り、つまりstd::is_trivially_copyable
型特性を満たさない限り、値をコピーしても安全ではないようです。std::is_trivially_copy_assignable
型特性、std::is_trivially_copy_constructible
、std::is_trivially_move_assignable
およびstd::is_trivially_move_constructible
を使用して初期化または割り当てに利用できない場合、その目的は何なのだろうかmemcpy
。それらは他の最適化を許可しますか?
また、値を .xml でコピーできるようにするために、なぜ標準が単純なデストラクタを必要とするのか疑問に思いますmemcpy
。(単純なデストラクタは、メモリ内の値を物理的に移動することを単純化しますが、単に値を複製するために基本的に必要ではないようですmemcpy
)。