条款18 让接口容易使用,不易被误用
2016-12-20 02:28
176 查看
这一节主要要告诉c++使用者,怎么对待接口(包括function 接口,class接口,template接口);
应该在设计接口的时候,就应考虑它的易用性,减少出错的可能。
考虑函数struct Foo* test();怎么使用智能指针减少资源泄漏的风险?
1,使用shared_ptr作为指针返回值类型
2,使用对象的特定删除器,对于互斥锁(mutex)的解除同样适用
应该在设计接口的时候,就应考虑它的易用性,减少出错的可能。
考虑函数struct Foo* test();怎么使用智能指针减少资源泄漏的风险?
1,使用shared_ptr作为指针返回值类型
2,使用对象的特定删除器,对于互斥锁(mutex)的解除同样适用
#include <iostream> #include <algorithm> #include <memory> #include <vector> //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<Foo> test(){ Foo *fp = new Foo(); std::shared_ptr<Foo> sh1(fp,deleteFoo); return sh1; } int main() { std::shared_ptr<Foo> re = test(); return 0; }
相关文章推荐
- 条款18: 让接口容易被正确使用,不易被误用
- 条款18: 让接口容易被正确使用,不易被误用
- 条款18 让接口容易被正确使用,不易被误用
- Effective C++ -----条款18:让接口容易被正确使用,不易被误用
- 条款18:让接口容易被正确使用,不易被误用
- 条款18:让接口容易被正确使用,不易被误用
- 读书笔记《Effective c++》 条款18 让接口容易被正确使用,不易被误用
- Effective C++:条款18:让接口容易被正确使用,不易被误用
- effective C++ 条款 18:让接口容易被正确使用,不易被误用
- Effective C++ 条款18 让接口容易被正确使用,不易被误用
- 条款18:让接口容易被正确使用,不易被误用
- 条款18:让接口容易被正确使用,不易被误用(Make interface easy to use correctly and hard to use incorrectly)
- 条款18 让接口容易被正确使用,不易被误用
- 《Effective C++》学习笔记条款18 让接口容易被正确使用,不易被误用
- 条款18:让接口容易被正确使用,不易被误用
- 读书笔记《Effective C++》条款18:让接口容易被正确使用,不易被误用
- Effective c++学习笔记条款18:让接口容易被正确使用,不易被误用
- 条款18:让接口容易被正确使用,不容易被误用
- 【18】让接口容易被正确使用,不易被误用
- Item 18:让接口容易被正确使用,不易被误用 Effective C++笔记