Effective C++ -----条款18:让接口容易被正确使用,不易被误用
好的接口很容易被正确使用,不容易被误用。你应该在你IDE所有接口中努力达成这些性质。
“促进正确使用”的办法包括接口的一致性,以及与内置类型的行为兼容。
“阻止误用"的办法包括建立新类型、限制类型上的操作,束缚对象值,以及消除客户的资源管理责任。
tri::shared_ptr支持定制型删除器(custom deleter)。这可防范DLL问题,可被用来自动解除互斥锁(mutexes;见条款14)等等。
转载于:https://www.cnblogs.com/wen-ge/p/4322292.html
Effective C++ -----条款18:让接口容易被正确使用,不易被误用相关推荐
- 读书笔记 effective c++ Item 18 使接口容易被正确使用,不容易被误用
1. 什么样的接口才是好的接口 C++中充斥着接口:函数接口,类接口,模板接口.每个接口都是客户同你的代码进行交互的一种方法.假设你正在面对的是一些"讲道理"的人员,这些客户尝试把 ...
- Effective C++条款粗略总结
文章目录 Effective C++ 1.类/结构体 2.资源管理 3.实现 4.模板与泛型编程 5.定制new和delete 6.其他 Effective C++ 1.类/结构体 1.把C++看成一 ...
- Effective C++条款39:明智而审慎地使用private继承(Use private inheritance judiciously)
Effective C++条款39:明智而审慎地使用private继承(Use private inheritance judiciously) 条款39:明智而审慎地使用private继承 1.pr ...
- 【Effection C++】读书笔记 条款18~条款19
[Effective C++]Part4 设计与声明 条款18:让接口容易被正确使用,不易被误用 好的接口容易被正确使用,不易被误用 促进正确使用的方法包括有接口的一致性,以及与内置类型的行为兼容 阻 ...
- Effective C# 原则18:实现标准的处理(Dispose)模式(译)
Effective C# 原则18:实现标准的处理(Dispose)模式 我们已经讨论过,处理一个占用了非托管资源对象是很重要的.现在是时候来讨论如何写代码来管理这些类占用的非内存资源了.一个标准的模 ...
- Effective C++条款40:明智而审慎地使用多重继承(Use multiple inheritance judiciously)
Effective C++条款40:明智而审慎地使用多重继承(Use multiple inheritance judiciously) 条款40:明智而审慎地使用多重继承 1.多重继承的两个阵营 2 ...
- effective c++条款11扩展——关于拷贝构造函数和赋值运算符
effective c++条款11扩展--关于拷贝构造函数和赋值运算符 作者:冯明德 重点:包含动态分配成员的类 应提供拷贝构造函数,并重载"="赋值操作符. 以下讨论中将用到的例 ...
- Effective C++条款09:绝不在构造和析构过程中调用virtual函数
Effective C++条款09:绝不在构造和析构过程中调用virtual函数(Never call virtual functions during construction or destruc ...
- effective c++条款44 将与参数无关的代码抽离templates
effective c++条款44 将与参数无关的代码抽离templates 首先了解这个条款的含义:使用template可能导致代码膨胀,二进制码会带着重复(或者几乎重复)的代码.数据,或两者.其结 ...
- Effective C++ 条款02:尽量使用const,enum,inline替换#define
Effective C++ 条款02:尽量使用const,enum,inline替换#define 用另一句话说:用编译器代替预处理器比较好. 举个例子:加入定义一个常量: #define ASPEC ...
最新文章
- SQL执行并返回执行前/后结果
- Matlab GUI 如何自动缩放
- python transformers_transformers 安装
- 【android9.0】system/core下的usbhost模块无法输出log到logcat
- bzoj 5090 组题
- 深入理解JavaScript的闭包特性如何给循环中的对象添加事件
- leetcode 611. Valid Triangle Number | 611. 有效三角形的个数(Java)
- java xml 画表格_用js+xml自动生成表格的东西
- Ignite 配置更新Oracle JDBC Drive
- Javascript动态函数
- 专注企业市场 或是网盘危机的有效出路
- Abaqus帮助文档翻译——启动和退出Abaqus/CAE
- 黑马python15期解压密码_2018年传智播客黑马python+人工智能 15期
- 物联网毕业设计 太空游戏机设计与实现
- 电脑所有的浏览器都上不了网怎么解决
- 用Leangoo管理用户故事
- 系统分析师的必备素质和技能
- matlab音乐实训心得,matlab实训心得体会
- 被裁了!39 岁阿里 P9,攒下 1.5 亿....
- LeetCode 834
热门文章
- AttributeError: module ‘tensorflow._api.v2.train‘ has no attribute ‘Optimizer‘
- DenseNet:比ResNet更优的CNN模型
- Anscombe's Quartet 问题
- cloudquery.php态势感知,CloudQuery v1.3.4 版本更新
- nemesis什么车_TSC名车品牌将推全新Nemesis全球最强超跑
- 有名内部类和匿名内部类的用法
- chrome 模拟点击_详解爬虫模拟登陆的三种方法
- kubernetes service的作用、类型、关系和工作原理ClusterIp、NodePort、LoadBalance、ExternalName
- kubernetes 查看日志方法
- css3背景颜色样式,css3的关于背景的设置样式