栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++11智能指针shared

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++11智能指针shared

对“智能指针”理解:

所谓“智能指针”,并不是强调“智能”,其实质是帮助C++农民工 T_T 更好、更方便、更安全地管理动态内存,防止内存泄漏问题的出现。智能指针的工作原理就是将代码中申请的动态内存交给智能指针对象进行管理,智能指针对象在其生命周期结束(析构)时,将自己管理的动态内存释放掉,而不需要我们在代码中显式调用delete来释放内存。这样就达到了防止内存泄漏的目的,这就是所谓的“智能”。

来看代码
#include 
#include 
#include 
using namespace std;

class MyClass1
{
public:
	MyClass1();
	~MyClass1();
    void test(string temp);
private:

};

MyClass1::MyClass1()
{
    cout << "MyClass1 construct" << endl;
}

MyClass1::~MyClass1()
{
    cout << "MyClass1 distruct" << endl;
}
void MyClass1::test(string temp)
{
    cout << temp << endl;
}

int main()
{
    shared_ptr s1(new MyClass1);

    s1.get()->test("class 1 test");

    getchar();
}
运行代码

由控制台输出可以看到,在getchar()按下回车后return,意味着智能指针对象s1的生命周期已结束,MyClass1的析构函数被执行了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/429927.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号