`
isiqi
  • 浏览: 16746663 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Item 18 不易误用的接口

阅读更多

● 用类型限制用户

重新设计接口:

如果想限制用户对月份的误用,可以用类:

● 防止客户写出下面代码的方法,是用const限制operator*的返回值

if (a * b = c) ... // 其实想写成 (a * b == c)

● 如果要求客户必须记住,那么他们就有可能忘记

比如申请资源的释放,强制用户使用智能指针管理:
std::tr1::shared_ptr<Investment> createInvestment();

可以为shared_ptr指定一个deleter,该deleter会在引用计数为零时自动调用。
比如有个函数getRidOfInvestment作为deleter传给shared_ptr的某个ctor:

当然,如果能直接把正确的指针给shared_ptr的ctor更好。

● shared_ptr来自boost,是原始指针的两倍大;动态分配内存;以virtual形式调用deleter;支持多线程环境下修改引用计数。

分享到:
评论

相关推荐

    Java_Tink是一个多语言跨平台的开源库,它提供了安全、易于正确使用且不易误用的加密api.zip

    Java_Tink是一个强大的开源库,它的目标是让加密变得更加安全、简单且难以误用。这个库不仅限于Java,还支持多种编程语言,实现了跨平台的兼容性,从而为开发者提供了一种统一的方式来处理加密任务。Java_Tink的核心...

    基于深度学习的API误用缺陷检测.pdf

    随着软件开发的复杂性日益增长,应用程序编程接口(API)在复用已有软件框架和类库方面发挥着重要作用。然而,API的误用常常导致代码缺陷,给软件开发和维护带来诸多挑战。由于API的复杂性和相关文档资料的缺失,...

    stm32与ds18b20接口C程序

    这是因为在读取数据时,误用了GPIO_ReadOutputDataBit()函数,而应该使用GPIO_ReadInputDataBit()来读取IO口的输入状态。 DS18B20的通信协议包括复位、发送ROM指令和发送RAM指令三个步骤。复位过程是通过拉低数据线...

    汽车悬架误用工况下前下摆臂屈曲分析与优化.pdf

    悬架系统的设计需要考虑到各种工况,包括常规行驶时的起停、转向、加速和减速,以及在不规范驾驶情况下的误用工况,如通过障碍物等。悬架系统的部件之一,前下摆臂在承受复杂受力情况时,若应力超过材料的许用应力,...

    基于机器学习的密码学误用的检测.pdf

    这些工具大多采用静态分析,基于预定义的规则来检测误用,部分工具如CRYLOGGER则采用了动态分析。尽管它们在检测过时算法、静态秘密、弱密钥和不规范编码方面表现出色,但每个工具的误报率和召回率各不相同,且规则...

    亚胺及亚氨基名词的误用

    亚胺及亚氨基名词的误用是一个在化学领域中常见的问题。亚胺化合物是一类含有碳氮双键(C=N)的化合物,广泛存在于天然产物中,并在有机合成、催化剂和医药等领域中具有重要应用。尽管亚胺化合物的概念在化学领域内...

    常见误用成语集锦.doc

    【常见误用成语集锦】中的内容主要列举了一些在日常使用中容易被误解或误用的成语,并提供了正确的解释和应用场景。以下是对这些成语的详细解读: 1. 屡试不爽:意指多次尝试都没有失误,常被误理解为“没有成功”...

    [常用,音频接口,介绍]常用音频接口介绍.docx

    - 它不是物理接口类型,而是一种逻辑电平标准,但有时会被误用为接口名称。 总结来说,音频接口的选择取决于应用需求,例如,对于专业录音棚,XLR接口因其平衡特性、稳定性及防止噪声干扰的能力而受到青睐;而在...

    基于深度学习的 API 误用缺陷检测1

    API(应用程序编程接口)是软件开发中不可或缺的部分,它允许开发者调用预先定义好的功能,以便构建更复杂的软件系统。然而,由于API的复杂性和文档不全,开发者往往会在使用过程中出现误用,导致代码存在缺陷。这些...

    标点误用现象分类诊治.pdf

    然而,标点符号的误用现象频发,成为不少作者在写作时的难点。本文将对标点符号误用现象进行分类,并提出相应的诊治方案。 首先,功能性误用是标点符号误用的一个常见类型,其根本原因在于作者对标点符号功能理解的...

    谦敬错位之成语误用.pdf

    标题所指的知识点为“谦敬错位之成语误用”。这个标题直译是关于在表达中因谦虚或尊敬不当而导致成语使用的错误情况。要详细探讨这个话题,需要从以下几个方面进行分析: 1. 成语的定义及其文化意义 成语是汉语中的...

    日语授受表达习得误用研究.docx

    《日语授受表达习得误用研究》探讨了日语学习中的一项关键难点——授受表达。日语的授受表达分为物品的授受和行为/动作的授受,对于中国日语学习者而言,这是一个普遍存在的挑战,因为误用现象较为常见。研究主要...

    高考常见误用成语.doc

    高考常见误用成语.doc

    高中易错成语及误用例句.doc

    本文将针对常见的高中生易错成语进行分析,并通过误用例句来帮助大家更好地理解和掌握。 1. **望文生义**:这个成语意为仅从字面上理解,不考虑其深层含义,常用来批评人对事物理解的片面性。例如,有人误用...

    基金代销O45接口规范及其应用

    使用场景及目标:适用于新加入或升级现有基金代销应用项目的IT开发人员快速了解接口的具体应用方式,提升对接效率,减少因接口误用带来的损失。 阅读建议:读者应着重于理解每个版本变更的原因,重点掌握接口示例、...

    Android应用程序密码学误用检测方法.pdf

    静态分析是在不运行代码的情况下,通过对App的二进制表示(如Dalvik字节码)进行分析来查找潜在的密码学误用。在Android环境中,这种方法通常涉及到对APK文件的解压和反编译,将其转换为Smali格式的中间代码。接着...

    Java 8 新功能的常见误用及其他错误.zip

    java8 误用Java 8 新功能的常见误用和其他错误。Java 8 已经存在一段时间了,我们中的许多人已经在项目中使用 Java 8 功能。但是,我们是否正确有效地使用了这些出色的 Java 8 功能?在过去几年进行了大量代码审查后...

    褒贬误用成语巩固练习--教师版.doc

    然而,成语的误用,尤其是褒贬色彩的误用,会使得语境产生歧义或者引起误解。例如,"倾巢出动"、"重整旗鼓"、"弹冠相庆"、"无所不为"等都是具有特定情感色彩的成语,不能随意改变其原有的情感指向。 2. 褒贬误用...

Global site tag (gtag.js) - Google Analytics