C++ vector使用总结

一、拷贝主要几种方法:
vector list;
list.push_back(1);
list.push_back(2);

1)初始化构造时拷贝
vector tem(list);
这种拷贝,相当于复制了一份数据,list中的数据不变。

2)assign
vector temlist;
temlist.assign(list.begin(), list.end());
一样的复制了一份数据,list中的数据不变。

3)swap
vector temlist;
temlist.swap(list);
将list中数据全部移到temlist中,此时list中为空了

4)insert
vector temlist;
vector temlist2;
temlist2.push_back(2);
temlist2.push_back(2);
temlist.insert(temlist.end(), temlist2.begin(), temlist2.end());
将temlist2中的数据,全部插入到temlist的末尾。相当于复制了一份数据

二、获取iteror遍历指针当前所在的位置:
int nFndPos = (int)std::distance(vecDatas.begin(), iterData);

三、获取指针的地址存入另一个vecror中:
CModel::DataArributeArray::iterator iterSpecialAtt = curAttrs.begin();
for (; iterSpecialAtt != curAttrs.end(); ++iterSpecialAtt)
{
modelDatas.m_specialProps.push_back(&(*iterSpecialAtt));
}

猜你喜欢

转载自blog.csdn.net/m0_37251750/article/details/89841899