博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
条款18 让接口容易使用,不易被误用
阅读量:4879 次
发布时间:2019-06-11

本文共 774 字,大约阅读时间需要 2 分钟。

这一节主要要告诉c++使用者,怎么对待接口(包括function 接口,class接口,template接口);

应该在设计接口的时候,就应考虑它的易用性,减少出错的可能。

考虑函数struct Foo* test();怎么使用智能指针减少资源泄漏的风险?

1,使用shared_ptr作为指针返回值类型

2,使用对象的特定删除器,对于互斥锁(mutex)的解除同样适用

#include 
#include
#include
#include
//using namespace std;class Foo{public: Foo(){ std::cout<<"ctor..\n"; } ~Foo(){ std::cout<<"dtor..\n"; }};///对shared_ptr使用删除器void deleteFoo(Foo *f){ std::cout<<"delete from delteFoo\n"; delete f;}std::shared_ptr
test(){ Foo *fp = new Foo(); std::shared_ptr
sh1(fp,deleteFoo); return sh1;}int main() { std::shared_ptr
re = test(); return 0;}

 

转载于:https://www.cnblogs.com/li-daphne/p/6201243.html

你可能感兴趣的文章
Java IO 序列化与反序列化
查看>>
EclEmma安装与使用
查看>>
不能使用联机NuGet 程序包
查看>>
selenium之Javascript定位方式和处理隐藏元素的方法介绍
查看>>
(转)Sql server中 如何用sql语句创建视图
查看>>
WinForms中设置窗体随鼠标移动
查看>>
Eclipse快捷键/快捷操作汇总
查看>>
kubernetes 学习 service相关
查看>>
H3C 广域网连接方式
查看>>
H3C ISDN网络构成
查看>>
python 别名
查看>>
oracle Transactional
查看>>
oracle显示和设置环境变量
查看>>
【美国总统电台演说】2011-06-04
查看>>
properties文件导出
查看>>
让git记住账号和密码
查看>>
生成汉字首写大字母-简缩字母
查看>>
【项目】 技术选型 - 平台和语言
查看>>
iOSApp上下有黑边
查看>>
20170906 - XML基础 - Q
查看>>