资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

c++智能指针unique_ptr如何使用

本篇内容介绍了“c++智能指针unique_ptr如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

成都创新互联公司专注于孝昌网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供孝昌营销型网站建设,孝昌网站制作、孝昌网页设计、孝昌网站官网定制、小程序开发服务,打造孝昌网络公司原创品牌,更为您提供孝昌网站排名全网营销落地服务。

unique_ptr是独占型的智能指针,它不允许其他的智能指针共享其内部的指针,不允许通过赋值将一个unique_ptr赋值给另一个unique_ptr,如下面错误用法:

std::unique_ptr myPtr(new T);
    std::unique_ptr myOtherPtr = myPtr; // error

但是unique_ptr允许通过函数返回给其他的unique_ptr,还可以通过std::move来转移到其他的unique_ptr,注意,这时它本身就不再拥有原来指针的所有权了。相比于auto_ptr而言,unique_ptr是显示的转移,而不是莫名其妙的报废,因为auto_ptr调用拷贝构造函数后,原来的对象就失效了。

std::unique_ptr myPtr(new T);
    std::unique_ptr myOtherPtr = std::move(myPtr); // ok

对于一般的程序使用std::unique_ptr就够了,如果是多线程方面,可能存在共同使用的问题,可以使用std::shared_ptr,注意不要引起循环引用

“c++智能指针unique_ptr如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


分享文章:c++智能指针unique_ptr如何使用
转载源于:http://cdkjz.cn/article/jssdjs.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220