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