私は当初、キューが破棄されたとき (たとえば、スコープ外になったとき)、含まれている要素を (それぞれのデストラクタを呼び出すことによって) 破棄する必要があると考えていました。同様に、pop() が呼び出されると、キューの最初の要素が破棄され、キューのサイズが 1 減ります。
しかし、私の理解を確認したところ、それは間違っているようです...私はこのようなものを使用しました
string& str = myQueue.front();
myQueue.pop();
(ここで、myQueue は文字列を含む空でないキューです)。
仕様によると、ここで見られるfront()
ように、保持している最初の要素への参照を返す必要があります。
これは、キューをポップすると、最初の要素がなくなることを意味します。その後、「str」はまだ有効な文字列であることがわかりました!
何か問題がありますか?
ありがとう!