库博在线客服 结束对话

库博服务助手小白

正在为您服务……

联系我们

010-62766856

cobot@beidasoft.com

COBOT2.7.2 支持C++

作者:彭婷

COBOT2.7.2采用了全新的解析框架提供对C++的支持。新增MISRA2008C++GJB8114等规则。

C++是在C语言的基础上开发的一种通用编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性。

研制者在C语言的基础上加进去的特征主要有:类及派生类、共有和私有成员的区分、类的构造函数和析构函数、友元、内联函数、赋值运算符的重载等

C++C的“增强”,表现在六个方面:(1) 类型检查更为严格。(2) 增加了面向对象的机制。(3) 增加了泛型编程的机制(Template)。(4) 增加了异常处理。(5) 增加了运算符重载。(6) 增加了标准模板库(STL)。

C++语言灵活,运算符的数据结构丰富、具有结构化控制语句、程序执行效率高,而且同时具有高级语言与汇编语言的优点,与其它语言相比 ,可以直接访问物理地址,与汇编语言相比又具有良好的可读性和可移植性。

C++由于语言本身复杂。C++的编译系统受到C++的复杂性的影响,非常难于编写,即使能够使用的编译器。如果存在问题,可能难于被发现。由于本身的复杂性,复杂的C++程序的正确性和安全性相当难于保证。

COBOT采用全新的解析框架,提供了对C++项目的检测,帮助C++测试人员和开发人员发现C++项目的缺项,保证代码安全可靠的运行。

COBOT支持的部分规则如下:

11_01

类不得从虚类派生而来

11_02

基类只应该被声明为虚,如果它被用在上层。

11_03

能够访问的基础类在同一个层级中不得既是虚类又是非虚类

11_04

所有可访问
继承层次结构应该的实例名称应该是唯一的。

11_05

在通过继承层级的各条路径上每个虚函数不得有多于一个的定义

11_06

每个覆盖的虚函数应该被声明有虚拟关键字

11_07

如果一个虚函数本身被声明为纯虚函数,那它只能被纯虚函数所覆盖

11_08

禁止非纯虚函数被纯虚函数重写

11_09

含有动态分配成员的类,必须编写拷贝构造函数,并重载赋值操作符

11_10

菱形层次的派生设计必须使用virtual说明

11_11

谨慎使用派生类由虚拟基类派生

11_12

谨慎使用内联函数

11_13

类中函数的实现代码避免在类定义的内部定义