2 つの質問があります。
1) alloca を使用してスタックにメモリを割り当てるアロケータを実装することは可能ですか? それ以外は C++ STL に準拠していますか?
コードが公開されている場合は、その URL を教えていただければ幸いです。:-) そこにコードがない場合は、関数の割り当てと割り当て解除をスケッチできますか?
2) 上記の質問に対する答えが「はい」の場合、クラス メンバーのスタックにメモリを割り当てる方法を理解したいと思います。例として、
std::vector<int, AllocaAllocator<int> >
そして、このベクトルのメンバー関数「resize」の呼び出しが、最初に「deallocate」を呼び出し、次にアロケーターの「allocate」を呼び出すとします。
allocate が呼び出されるスコープは、メンバー関数 resize のスコープです。これは、割り当てられたメモリがその関数呼び出しの最後にスタックから削除されることを意味しませんか?
敬具、ビョルン