Vec
などの型がtruncate
になると、ベクトルの各メンバーにptr::drop_in_place
が呼び出されます。タイプに「ドロップ」が必要な場合の検出方法
これは、int、floatなどのプリミティブ型のパフォーマンス上の問題ではないことが判明しました。なぜなら、ドロップ呼び出しが最適化されているからです。
もっと複雑なコンテナタイプ(自分で使用するために書いたもの)の場合、要素を反復することはそれほど簡単ではない(常に最適化されるとは限りません)
タイプにドロップ特性があるかどうかをチェックする方法はありますか?その場合、すべてのメンバーにアクセスすることはできませんか?
あなたがリンクしているドキュメントの記述は、すべてのタイプがドロップグルーが必要か_implement Copy_のいずれかであることを暗示しているようです。これは正しいとは言えません。 –
@PeterHallそれは、すべての型がこれらの事柄のうちの1つを行うことを暗示するものではなく、実際にどちらの型も明示的に言及していません。 'Drop'または' Drop'(ドロップのりを持つための基準は) 'Copy'になることはありませんされているものが含まれている自身あるタイプ - しかし、であること' Copy'がドロップ接着剤を有する相互に排他的であることを確かに真実です。 – delnan