elfive 最近的时间轴更新
elfive

elfive

V2EX 第 205208 号会员,加入于 2016-12-09 17:35:00 +08:00
今日活跃度排名 5815
根据 elfive 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
elfive 最近回复了
@amiwrong123 #11 std::move 他本来也不需要做任何事情,显式使用 std::move 是让编译器知道你要调用移动构造或者移动拷贝函数(左值引用不能自动转为右值引用,但反过来可以),还有一个目的是让程序员知道,被移动的变量在这条语句之后不能再次访问以获取任何有效的内容,因为 move 之后,变量内容就被“重置”了

至于为什么有时候编译器不能自己生成默认的移动构造函数,即使没有定义拷贝构造函数,那是因为当类的非 static 成员中含有必须在构造时初始化的成员,例如:引用、const 类型定义。
通俗一点来说,就是必须在构造函数初始化列表中初始化的变量。因为这些成员不可移动。他们的存在,就会让编译器决定不生成默认的移动构造函数。
2 天前
回复了 ladypxy 创建的主题 互联网 微软即将 687 亿收购动视暴雪。。。
暴雪还值 687 亿美元?不是微软傻就是动视暴雪精……
2 天前
回复了 crack105 创建的主题 问与答 有哪些相对保值的爱好?
愿意花钱得到快乐的才叫爱好。
不愿意花钱的那真的不叫爱好。
@elfive #5 你的代码里,如果在移动构造函数 content 那里不使用 std::move 将 d.content 转换为右值引用,那么它实际上调用的是 std::string 的赋值构造函数,即代码里的这个移动构造函数和拷贝构造函数没区别
首先,要知道只有需要深度拷贝的类或结构体定义移动构造才有实际意义。

既然需要深度拷贝,那么默认的拷贝构造就肯定不能满足要求,因为它仅执行简单的浅拷贝。这样一来使用时很有可能造成 double free 、野指针这种问题,所以编译器索性不生成默认的拷贝构造函数,直接给你一个编译错误,让你自己写拷贝构造函数。
6 天前
回复了 psyer 创建的主题 分享发现 有没有大佬懂 R 中四舍五入的问题
我个人而言存数据的 SSD 依旧只会考虑三星。
做缓存的 SSD 则随便,价格、品牌适中就行。
测试数据……有时候真不如认可度靠谱。
我家一个月 2400 左右的燃气费
11 天前
回复了 ooyy 创建的主题 NAS 小公司群晖 DS920+的硬件搭配咨询
@ferock #19 ➕1
不过我买的是 918+,大致与 920+区别不大,用了 3 年整了。

建议也是 4 机械加读缓存,写缓存伤 SSD 缓存,另外它的 m.2 是 pcie 3.0 x2 的带宽,买一般便宜的 SSD 就行了。
13 天前
回复了 chrisroc 创建的主题 装修 新装修后如何除甲醛效果最显著?
甲醛只在 19 度以上的温度范围中挥发。并且随着温度增加挥发速度加快。
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3663 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 01:28 · PVG 09:28 · LAX 17:28 · JFK 20:28
♥ Do have faith in what you're doing.