unique_ptr 不共享它的指针。它无法复制到其他 unique_ptr,无法通过值传递到函数,也无法用于需要副本的任何标准模板库 (STL) 算法。

1、不能进行复制构造和赋值操作(unique_ptr不支持拷贝操作,可以从函数中返回一个unique_ptr)
2、无法进行移动构造和移动赋值操作(std::move())
3、支持数组
4、std::make_unique从c++14开始
class A
{
int data_;
public:
A(int data_1,int data_2){
data_=data_1+data_2;
} ~A() {
std::cout<<__FUNCTION__<<":"<<data_<<std::endl;
} void print() {
std::cout<<__FUNCTION__<<":"<<data_<<std::endl;
}
}; void func()
{
{
std::unique_ptr<A[]> uptr_A(new A[3]{{1,2},{3,4},{5,6}});
for(int i=0;i<3;i++) {
uptr_A[i].print();
}
} std::unique_ptr<int[]> uptr_int(new int[3]{1,2,3});
for(int i=0;i<3;i++) {
std::cout<<uptr_int[i]<<std::endl;
}
} int main(int argc,char* argv[])
{
func();
}

最新文章

  1. 分享一个CQRS/ES架构中基于写文件的EventStore的设计思路
  2. 同比 VS 环比
  3. Oracle数据库根据时间查询
  4. IIS 部署WCF 4.0
  5. apache网站访问缓慢的处理记录
  6. webApp 阅读器项目实践
  7. 获取元素CSS值之getComputedStyle方法熟悉
  8. 对象生命周期及crud操作
  9. 深入.NET框架 项目--魔兽登录系统
  10. 尝鲜delphi开发android/ios_环境搭建
  11. jQuery zxxbox弹出框插件(v3.0)
  12. js监听回车事件
  13. windowSoftInputMode键盘把输入框挡住了
  14. css3基础知识——回顾
  15. ResourceManager的HA
  16. &gt; library(&#39;ggplot2&#39;) Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : 不存在叫‘colorspace’这个名字的程辑包
  17. 【BZOJ1018】堵塞的交通(线段树)
  18. Day2:html和css
  19. 为RecyclerView打造通用Adapter
  20. springbootAdmin+eureka集群+swagger

热门文章

  1. Spring总结————spring核心Core
  2. 五分钟学后端技术:如何学习Redis、memcache等常用缓存技术
  3. vue 指令,成员,组件
  4. cmdb autoserver端表数据分析
  5. 表格的删除与添加以及id的唯一性
  6. 洛谷 P1891 疯狂LCM 题解
  7. 动态规划-Last Stone Weight II
  8. mac下 yarn Stack trace: ExitCodeException exitCode=127
  9. effective-java学习笔记---使用接口模拟可扩展的枚举38
  10. Web Scraping(网页抓取)基本原理 - 白话篇