智能指针是C++11的新特性,包括共享指针、独占指针、弱指针,其主要目的是智能管理内存,防止内存泄漏。
如果计数为0,会立即delete。此外,独占指针其生命周期只在函数体内。
//动态数组申请方法 shared_ptr<int[]> p(new int[10]); //动态变量申请方法 shared_ptr<int> p(new int);
共享指针的特点是允许多个智能指针指向资源,独占则是不允许其他指针指向资源,但可以通过引用取值,弱指针是一个观测指针。
move函数可以移交指针管理权。
get函数可以获取指针地址,注意,此时已不再是智能指针。
reset函数是重设指针,如果是共享指针计数为0或独占指针时,会析构。
其他的一些知识,请看:
智能指针(现代 C++) | Microsoft Learn
标签:函数,独占,int,智能,相关,共享,指针 From: https://www.cnblogs.com/xmds/p/17187358.html