首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
我怕是牛客第一菜
2019-07-23 15:52
已编辑
字节跳动_后端
关注
已关注
取消关注
问各位CPP大佬一个问题
push_back时到底发生了啥?我理解是拷贝构造 就没了 求解答 谢谢
#题解#
提示
全部评论
推荐
最新
楼层
麻烦别在我坟头蹦迪
阿里巴巴_新零售事业群_开发工程师
参数是传引用,应该就是拷贝构造函数。还有个知识点是vector空间不够了怎么办。
点赞
回复
分享
发布于 2019-07-23 15:59
ChessC
Java
前面回答的比较乱,后来我又想了一下以及试验了一下: 个人理解是这样的,分为两种情况讨论。 (1)如果我们是先构造一个类对象,之后再进行push_back(),那么应该是调用一次拷贝构造函数 (2)如果我们是在push_back()的同时,在push_back中构造一个对象,那么实际上是调用一次构造函数,之后调用一次移动构造函数(C++11中的右值以及移动构造函数) 而由于右值引用的概念,因此,C++11中有emplace_back来实现和push_back相同的功能,但是此时,和上面(2)相同的情况下,仅仅有一次构造函数调用,之后Move直接移交所有权(因此emplace_back的优势也在这里,少了一次调用) 可以看下面的代码试一下: struct President { std::string name; std::string country; int year; President(std::string p_name, std::string p_country, int p_year) : name(std::move(p_name)), country(std::move(p_country)), year(p_year) { std::cout << "I am being constructed.\n"; } President(const President& other) //拷贝构造函数 : name(std::move(other.name)), country(std::move(other.country)), year(other.year) { std::cout << "I am being copy constructed.\n"; } President(President&& other) //移动构造函数 : name(std::move(other.name)), country(std::move(other.country)), year(other.year) { std::cout << "I am being moved.\n"; } President& operator=(const President& other); }; int main() { std::vector<President> elections; std::cout << "emplace_back:\n"; elections.emplace_back("Nelson Mandela", "South Africa", 1994); //只有一次构造 std::vector<President> reElections; std::cout << "\npush_back:\n"; reElections.push_back(President("Franklin Delano Roosevelt", "the USA", 1936)); //上面是提到的(2)的情形,调用构造+移动 std::vector<President> reElections; President pb=President("Franklin Delano Roosevelt", "the USA", 1936); reElections.push_back(pb); //上面是(1)的情形,调用拷贝构造函数 }
点赞
回复
分享
发布于 2019-07-23 16:54
联想
校招火热招聘中
官网直投
联想
校招火热招聘中
官网直投
相关推荐
培淋
05-02 10:29
Technische Universität Dresden 机械类
华为od面经,车bu,软件工程师
双非一本,德国硕 4.14 机考 100% 86% 100% c卷 第一题:用连续自然数之和来表达整数 第二题:内存分配 第三题: 分月饼 4.15 机考通过,性格测试通过 4.17 资面。不是hr,是业务部门主管,很懂技术,对项目内容感兴趣,像是技术面。最后给我挑了3...
华为主管面59人在聊
机械人怎么评价今年的华为
点赞
评论
收藏
转发
求来的offer
昨天 15:40
思特威电子科技_基础软件开发工程师(准入职员工)
思特威内推
5月还有很多hc!不限学校,不限学历,抓紧投递!今年校招包括暑期实习竞争特别激烈!大部分企业岗位HC在缩减,大家抓紧投递!越早投成功率越高!百分之70的岗位收获offer的人都是第一个月投递的!!思特威(上海)电子科技股份有限公司SmartSens Technology(股票简称:思特威,股票代码:688213)是一家从事CMOS图像传感器芯片产品研发、设计和销售的高新技术企业,总部设立于中国上海,在多个城市及国家设有研发中心。自成立以来,思特威始终专注于高端成像技术的创新与研发,凭借自身性能优势得到了众多客户的认可和青睐。作为致力于提供多场景应用、全性能覆盖的CMOS图像传感器产品企业,公司...
投递思特威电子科技等公司7个岗位 >
点赞
评论
收藏
转发
陌上莫殇_
03-09 21:10
已编辑
西南大学 计算机类
想找实习好难鸭
想找实习好难鸭有没有大佬能帮我康康简历鸭,每次投简历都没有一点波澜,秋招会不会毕业就失业啊,好焦虑能不能再给我提一点学习方面的意见,还有哪些需要学啊 #实习,投递多份简历没人回复怎么办#
实习,投递多份简历没人回复怎么办
点赞
评论
收藏
转发
爱吃香菜的仰泳鲈鱼在求佛
04-19 17:59
南京邮电大学 电子信息类
百度这真的假的?
我们辅导员发的,这个时间点,给这么高?百度是非常缺人吗
投递百度等公司8个岗位
点赞
评论
收藏
转发
相信光的少年
今天 21:10
游戏策划
游卡的工作氛围真的是轻松愉快
公司有舒适的休息区,每当工作累了,我都会和同事们一起到休息区小憩,聊聊天,放松一下。另外,游卡的福利也是相当给力的,不仅有补充公积金,还定期组织团建活动。我们团队成员里面,可以说是大神云集,充满才华,比如我们的原画设计师们,看起来可能有点闷,但牌技却很厉害!还有我们的程序员,超级有耐心,而且还是个搞笑的段子手。
投递游卡等公司7个岗位 >
点赞
评论
收藏
转发
点赞
收藏
评论
分享
回复帖子
招聘动态
查看更多
滴滴
2025届秋招储备实习生招聘
联想
24届应届+25届实习
全站热榜
1
...
5.6校招&实习招聘信息汇总
5514
2
...
5.7 暑期实习求职总结
5326
3
...
【薪资爆料第二期】打破信息差!爆料薪资拿200元京东卡!
5156
4
...
谈恋爱后逃水课的代价
4986
5
...
道心破碎了
4595
6
...
我学Java的原因😋😋😋
4528
7
...
现在一点都不焦虑了
4269
8
...
秋招太卷,春招捡漏——24春招总结
3662
9
...
5.7校招&实习招聘信息汇总
3578
10
...
27届实习
3359
正在热议
#
牛客帮帮团来啦!有问必答
#
510753次浏览
8809人参与
#
如何判断面试是否凉了
#
902074次浏览
13904人参与
#
写简历别走弯路
#
269366次浏览
3301人参与
#
实习与准备秋招该如何平衡
#
157209次浏览
2939人参与
#
学历贬值真的很严重吗?
#
3018次浏览
42人参与
#
最后再改一次简历
#
768793次浏览
10933人参与
#
我的实习日记
#
393000次浏览
7191人参与
#
运营面经
#
6849次浏览
182人参与
#
快手工作体验
#
47816次浏览
902人参与
#
春招你拿到offer了吗
#
336553次浏览
5039人参与
#
硬件/芯片公司工作体验
#
15382次浏览
226人参与
#
如何写一份好简历
#
232328次浏览
3602人参与
#
实习,投递多份简历没人回复怎么办
#
894343次浏览
15976人参与
#
重来一次,我还会选择这个专业吗
#
81261次浏览
1263人参与
#
通信硬件人笔面经互助
#
90695次浏览
1865人参与
#
你觉得找工作该拿大厂还是小厂练手
#
48369次浏览
717人参与
#
我的上岸简历长这样
#
147849次浏览
2970人参与
#
你们的毕业论文什么进度了
#
514014次浏览
5369人参与
#
选了这个offer,你有没有后悔?
#
89121次浏览
793人参与
#
现在还是0offer,延毕还是备考
#
336200次浏览
4340人参与
牛客网
牛客企业服务