私は一時的なオブジェクトスタックを作成していました。主にヒープベースのSTL構造体を使用していましたが、実際には一時的な存続期間しかありませんでした。 1つのスタックは、展開されていないリンクリストに格納されているすべての型を実行します。メモリアロケータのオーバーヘッド
私はアライメントを持って作ってきました。私はstd::alignment_of<T>
で整列を得ることができますが、私はの整列が必要なので、これは本当に素晴らしいことではありません。割り当てたいタイプはです。今は、各オブジェクトのサイズを任意に16の倍数に設定しました。これは、わかっている限り、すべてのx86またはx64タイプの最大の配置です。しかし、オブジェクトごとにメモリオーバーヘッドの2つのポインタとベクトルに割り当てるコストと、16の倍数になるまでのすべてのサイズを作るためのコストがあります。
プラス側、建設と破壊は迅速で信頼性が高い。
これは、通常の演算子new/deleteとはどう違うのですか?そして、どのような種類のテストスイートを走らせることができますか?私は私の現在の進歩にかなり満足していますし、後でそれが厄介な微妙な方法で盗まれていることを知りたくはありません。