std::fill
非PODタイプの配列を初期化するために使用することは可能ですか?
ドキュメントには、配置コピーの構築ではなく、配列を初期化するためにstd::fill
使用すると記載されています。operator=
ただし、代入演算子は、私が見る限り、初期化されていないスペースで呼び出されたときに、現在のメモリを解放する機会が実際にはありません。
例:
struct NonPod
{
std::string myStr;
};
NonPod arr[10];
NonPod prototype;
NonPod * ptr = &arr[0];
std::fill_n(ptr, 10, prototype);