c++ - 使用相同的 unique_ptr 执行两次 std::move
问题描述
如果我用相同的 unique_ptr 调用两次 std::move 会发生什么?
unique_ptr<int> foo(new int(5));
unique_ptr<int> bar = move(foo);
unique_ptr<int> baz = move(foo);
PS:不,std::unique_ptr 用法不是同一个问题。这两个问题都是关于 unique_ptr 的,这是它们之间唯一的共同点。
解决方案
从 a 移动unique_ptr
使其为空。所以baz
最终也会为空。
推荐阅读
- android - AppBarLayout 不会折叠
- javascript - PHP 在通过 Javascript 传递时在 HTML 中被注释掉
- php - MAMP phpmyadmin 上的脚本超时传递错误
- powershell - 以毫秒为单位将 UTC 转换为 UNIX 纪元
- openshift - 在 oc 补丁的 jsonpath 中包含变量(openshift CLI 操作)
- c - C中的简单凯撒密码,无需用户输入
- c# - Blazor 替代 JS window.location.href
- clojure - Clojure - 用apply调用的函数的参数太多
- c# - 为什么这个类型不是 Activator.CreateInstance 中的类型?
- mysql - 跨两个表按位置平均工资