类型安全·异常安全·线程安全

在阅读一些C++技术文档上经常会遇到下面几个术语,通过对网上的资料进行综合,总结出以下的解释:

类型安全 --- 是有关类型操作的一种规范。这种规范限制了不同类型的数据之间的相互转化,使数据类型之间的转换不会导致数据破坏。另外,对于不同的类型,总能进行正确的处理。在处理时对数据类型有严格要求,类型不正确的数据不能通过编译。或者说,类型安全性就是严格区分数据的类型,不同的类型不同的处理,类型之间的转换遵循严格的规范,保证不发生类型错误。

异常安全 --- 包括三个层次,最基本的层次是:如果一个异常被抛出,程序中相关的数据、变量和对象都处于合法状态,没有对象或数据结构被破坏,而且所有类不变量都被满足。更高级的层次是:如果一个异常被抛出,程序的状态不会发生任何变化。最高的层次是:不抛出异常,异常在代码内部得到合适处理。

线程安全 --- 如果代码所在进程有多个线程在同时运行,而这些线程可能会同时运行该段代码,如果每次运行结果和单线程时的运行结果是一样的,代码中各个变量的值与预期完全一致,那么这段代码就是线程安全的。

原文地址:https://www.cnblogs.com/it_han_ku/p/2137103.html