vector<CButton*>::iterator itBtnsMenu = m_vBtnsMenu.begin();
int nTmp = 0;
for (; itBtnsMenu != m_vBtnsMenu.end(); itBtnsMenu++)
{
if (nTmp++ >= m_nLimit)
{
CButton* btn = *itBtnsMenu;
vecContractBtn.push_back(btn);
}
}
现在是这样赋值。能不能使用Insert来做?总之是使用尽量少的代码优雅的来解决这个问题。
vector<T>::const_iterator first = m_vBtnsMenu.begin() + m_nLimit;
vector<T>::const_iterator last = m_vBtnsMenu.end();
vector<T> vecContractBtn(first, last);
if (m_nLimit <= m_vBtnsMenu.size())
vecContractBtn.insert(vecContractBtn.begin(), m_vBtnsMenu.begin()+m_nLimit, m_vBtnsMenu.end());
你直接swap应该也是金额育德