1
<queue>
的位置和推送有什麼區別?<queue>的位置和推送之間的區別
這裏是關於std::queue::emplace和std::queue::push 的解釋。
兩種方法都會在當前最後一個元素之後添加元素,返回None
。
<queue>
的位置和推送有什麼區別?<queue>的位置和推送之間的區別
這裏是關於std::queue::emplace和std::queue::push 的解釋。
兩種方法都會在當前最後一個元素之後添加元素,返回None
。
push()將已構造對象的副本作爲參數添加到quewue中,它將接收隊列元素類型的對象。
emplace()在隊列末尾就地構造一個新對象。它將隊列的元素類型構造函數所需的參數作爲參數。
如果您的使用模式是創建新對象並將其添加到容器的模式,則可以使用emplace()快捷鍵幾步(創建臨時對象並複製它)。
[push \ _back vs emplace \ _back]可能重複(http://stackoverflow.com/questions/4303513/push-back-vs-emplace-back) – pushkin