一、赋值运算符函数 题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数。 测试用例: 把一个CMyString的实例赋值给另外一个实例。 把一个CMyString的实例赋值给它自己。 连续赋值。 没有考虑异常安全性的解法: 考虑异常安全性的解法: 补:在新的代码中,我们在CMyS ...
分类:
其他好文 时间:
2018-08-23 00:34:15
阅读次数:
154
我们在上节博客中说到,在 SeqList 下又可以衍生出 StaticList 和 DynamicList 两个子类。那么我们今天就来看看这两个子类,它们是如何实现的以及它们之间有何区别。 A、StaticList 的设计要点:首先必须是一个类模板。其次是使用原生数组作为顺序存储空间,最后是使用模板参数决定数组大小。 B、DynamicList 类的设计要点:它也必须得是一个类模板。申请连续堆空间作为顺序存储空间;动态设置顺序存储空间的大小;保证重置顺序存储空间时的异常安全性。
分类:
其他好文 时间:
2018-08-14 00:20:28
阅读次数:
246
基本语法 面向对象 反射 注解 序列化 异常、断言、日志和调试 泛型 集合框架 多线程 IO XML 网络编程 JDBC 国际化 安全 脚本、编译与注解处理 分布式对象 本地方法 ...
分类:
编程语言 时间:
2018-02-12 00:26:10
阅读次数:
245
何时需要使用智能指针:1.资源所有权共享。a)如果多个对象需要同时使用第三个对象时,就需要知道这第三个对象是何时释放的,释放的时机要正确。2.要编写异常安全的代码时。a)就是当异常被抛出时没有资源泄露并保证程序状态的一致性。3.避免常见的错误,如资源泄露。a)如忘记del..
分类:
其他好文 时间:
2017-10-24 01:38:57
阅读次数:
108
资源、数据、状态 http://blog.csdn.net/u013540854/article/details/30721675 结论1:异常安全函数即使发生异常也不会泄漏资源或允许任何数据结构败坏。这样的函数区分为三种可能的保证:基本型、强烈型、不抛异常型。 "异常安全“有两个条件:不泄漏任何资 ...
分类:
其他好文 时间:
2017-07-27 16:36:39
阅读次数:
126
原文写的非常好,来自这里 一个函数如果说是“异常安全”的,必须同时满足以下两个条件:1.不泄漏任何资源;2.不允许破坏数据。 我们先通过两个反面的例子开始。 第一个是造成资源泄漏的例子。一个类Type,内含一个互斥锁成员 Mutex mutex,以及一个成员函数void Func()。假设Func函 ...
分类:
编程语言 时间:
2017-06-22 00:26:19
阅读次数:
223
RAII技术被认为是C++中管理资源的最佳方法,进一步引申,使用RAII技术也可以实现安全、简洁的状态管理,编写出优雅的异常安全的代码。 ...
分类:
编程语言 时间:
2017-06-12 10:50:44
阅读次数:
339
数据集的概念开源:MySQL高效:性价比高数据库,指的是以一定的方式储存在一起,能为多个用户共享,具有近可能的小的冗余的特点。是应用程序彼此独立数据集合文件系统管理的问题:数据冗余不一致大数据访问困难数据孤立完整性和原子性并发访问异常安全性问题实现数据共享减少数..
分类:
数据库 时间:
2017-06-06 18:24:54
阅读次数:
205
vector可用于代替C++中的数组,一般一致认为应该多用vector,因为它的效率更高,而且具备很好的异常安全性。而且vector是STL推荐使用的默认容器,STL中向量是使用数组实现的,因此向量具有顺序表的特点,可以快速随机存取数据。向量是一种数据类型的对象的集合,每个对象根据其位置有一个整数索 ...
分类:
其他好文 时间:
2017-05-27 21:14:21
阅读次数:
150
目录 四十五、尽量减少装箱拆箱 四十六、为应用程序创建专门的异常类 四十七、使用强异常安全保证 四十八、尽量使用安全的代码 四十九、实现与 CLS 兼容的程序集 五十、实现小尺寸、高内聚的程序集 四十五、尽量减少装箱拆箱 四十六、为应用程序创建专门的异常类 四十七、使用强异常安全保证 四十八、尽量使 ...