C++Primer-顺序容器操作

添加元素
push_back,push_front,insert(p,t)/(p,n,t)/(p,b,e)
push系列是尾插和头插,insert一般需要给出迭代器范围(也可以接受元素数目和值),插入在给定迭代器之前,push一般返回void,而insert返回新插入第一个元素的迭代器或原迭代器

push_back/push_front
back除了array和forward_list都可以使用,front除了array,string和vector都能使用

使用insert的返回值

list<string> 1st;
auto iter = 1st.begin();
while(cin>>word)
{
    iter = 1st.insert(iter,word);
}

使用emplace
包含三个成员emplace_front,emplace,emplace_back,他们构造而不是拷贝函数,会将传入的参数转给此类型的构造函数构造新对象并放入容器

访问元素
每个顺序容器的front成员可以返回头元素的引用,除forward_list外可以使用back返回尾元素的引用,注意容器不可以为空,会出现函数未定义。
使用at或者直接用【】访问下标
访问成员函数返回的是引用如果赋值给引用,就可以改变值(前提容器元素不是const),如果用普通变量接受赋值,相当于拷贝这个引用赋值给变量,不能通过改变变量改变原值

删除元素
forward_list不支持pop_back,vector和string不支持pop_front
erase可以删除给定迭代器或其范围的元素,并返回元素后迭代器
clear删除所有返回void
注意删除可能会使容器部分或全部迭代器失效,且删除时不检查参数,要确保删除的元素确实存在

全部评论

相关推荐

02-28 01:18
已编辑
南昌大学 后端工程师
黑皮白袜臭脚体育生:把开源经历放个人项目上边应该更好,就像大部分人都把实习经历放个人项目上边
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
03-30 21:35
爱蜜莉雅碳劝退测开:裁员裁大动脉了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务