我有一个队列。如果它超过X大小,当我推入一个元素时,我想删除队列的第一个元素。 (最后一个元素,将得到弹出并且第一个元素推入)从队列中删除第一个元素?
void ClientPlayerManager::queueTableMessage(const std::string& playerName, const std::string& message)
{
m_tableQ.push(std::make_pair(playerName,message));
if(m_tableQ.size() > m_maxTableMessages)
{
//m_tableQ.pop_back(); does not exist
}
}
有没有办法用一个std队列做到这一点?
感谢
在FIFO队列中,将弹出的最后一个元素位于推入的第一个元素的另一端,您想要哪一个? –
是的,这很混乱。为什么不使用push and pop来忘记它? –