哆啦A梦编程篇!std::move!

合集 · 哆啦A梦编程篇 (1)

  1. 1:41
    哆啦A梦编程篇!std::move!

Comments

清水恋ShimitsuKoi 2025-06-06

感觉被知识强碱了[笑哭]

♥ 71 ↩ 1

沧浪亭歌 2025-06-07

虽然视频很有趣,但是怎么说呢?懂得人才能看懂是不是不太好[吃瓜][笑哭]

♥ 69 ↩ 5

夏至-微风 2025-06-18

我终于搞清楚了。std::move,实际上不会“移动”任何东西,它只是把变量强制转换为右值引用,以便于触发 T(T &&other) 移动构造函数的触发器而已。 比如一个vector,里面管理了一个动态内存分配出来的裸指针,如果对它使用 move ,那么就要看 vector 的移动构造函数怎么实现。 一般来说,如果使用 vector v2 = v1,意思是深拷贝,触发复制构造函数,这个函数的实现一般是重新分配空间,然后把v1的数据原封不动复制到v2中。 如果使用 vector v2 = std::move(v1),那么就会触发移动构造函数,由于这里我们是想让v1把资源让给v2,那么就可以直接在移动构造函数内部写 this->data = v1.data; v1.data = nullptr; 这样就完成了资源的“转移”,所谓“移动”就体现在这里。

♥ 50 ↩ 7

Beacon1096 2025-06-07

写C++写的看不到未来.jpg

♥ 48 ↩ 2

AAA显卡批发黄总 2025-06-18

最搞笑的是牛客上一个大佬说要放弃腾讯的offer,底下有人说用std::move把这个offer给他

♥ 24 ↩ 1

某不知名开花者 2025-06-07

rust:这不是被动技能吗[doge]

♥ 21 ↩ 1

toraoh 2025-06-07

其实用std::move后经常爆炸的情况是,忘了某个变量被std::move过了,然后继续从里面读数据,可是原来的变量早就invalid了,再用就炸。

♥ 21 ↩ 3

糖少主 2025-06-08

这个赛道真的太新奇了[doge]

♥ 17 ↩ 1

西瓜Westmelon 2025-06-08

?第一次看见讲cpp讲这么搞的[笑哭]

♥ 11 ↩ 1

秦心桜 2025-06-06

神金啊

♥ 11 ↩ 1

不死鸟之翼 2025-06-24

小时候写C++特别在意什么零开销抽象,长大工作写了几年Kotlin后整个大脑皮层变得无比光滑()

♥ 10 ↩ 9

属官一号 2025-06-09

以为是Rust()

♥ 9 ↩ 2

水墨zha 2025-06-07

感觉知识拉到了我的脑子里

♥ 9 ↩ 1

⑨命猫妖 2025-06-08

这个系列请一直做下去[doge]

♥ 6 ↩ 1

米粒并非米立龙 2025-06-08

为什么刚在mpi相关的地方写完std::move就刷到了这个视频[思考]

♥ 6 ↩ 1

爱卖菜的Julie_QWQ 2025-06-06

好有趣[打call]

♥ 6 ↩ 1

风有我们家的钥匙哦 2025-07-08

怎么会有这么有意思的up主?你是我在b站见过最有意怎么会有这么有意思的up主

♥ 5 ↩ 3

地下城哥布林 2025-06-22

有种被知识强奸的感觉[热]

♥ 5

夏至-微风 2025-06-08

我一直以为这个函数作用是这样的: 一份资源属于变量A,现在我调用move,B=move(A),那么这份内存上的资源现在就属于B,不能再通过A继续访问这份资源,期间没有经过任何资源的复制、移动操作。打个比方的话就是,A是变量,B是A的引用,move一下,B转正成变量,A变成空引用(实际上没有空引用) 现在看来是我多虑了

♥ 5 ↩ 5