其他分享
首页 > 其他分享> > CppCon笔记--Back to Basics: RAII and the Rule of Zero

CppCon笔记--Back to Basics: RAII and the Rule of Zero

作者:互联网

C++编程很多时候需要手动管理资源,其中包括资源的获取,使用和释放,而手动对资源释放是很容易出错的一个环节。

根据C++的特性,当局部对象的生命周期结束时,会调用析构函数,因此借由类的析构函数对资源进行释放就是RAII的工作原理。

但是这段代码仍然存在问题,如果对vector进行复制,此时的析构会进行double release,代码报错。这里就引入了C++的第一个rule of thumb。

当类直接对一些资源进行管理时,你需要手写三个成员函数:

不要忘了有时候可以用swap-and-copy来处理,会更加安全。

noexcept!


比如这个例子self-assign会内存泄漏


这个例子中能self-assign,但是用成员数据赋值会出问题。

标签:释放,Basics,函数,--,RAII,C++,析构,拷贝,资源
来源: https://www.cnblogs.com/linsinan1995/p/13375386.html