- 1、使用枚举类型统一接口
- 背景:提供的算法库包含不同子算法:人脸跟踪和目标跟踪,两个算法提供的接口(返回的结果)中均提供跟踪状态值(正在跟踪,目标暂时丢失,等等多个值)可供上层调用算法库使用(不同算法的统一跟踪状态对上层的作用是一致的)。但在两个算法内部定义不同跟踪状态所使用的值是不统一的,如目标跟踪使用1代表正在跟踪,人脸跟踪使用0代表正在跟踪。这样上层在调用算法库时需要根据不同算法判断每个值代表什么状态,这样给上层调用增加负担。
- 枚举类型在统一接口上的作用:在跟踪返回结果头文件(对外接口文件)中增加一个枚举类型用来定义跟踪的不同状态。在不同算法内部都是用这个枚举值来定义各自的状态,并且在各算法返回的结果中对应的状态值也使用这个枚举进行表征。这样就统一了不同子算法通一个状态但状态值不一致的问题。
- 2、宏定义放在头文件还是cpp文件
- 宏定义 一定或可能会被多个cpp文件使用则放在头文件中,只有一个cpp文件使用则放在头文件和cpp均可,但优选cpp中(大型工程防止宏的重复定义)。
c++ 使用枚举类型统一接口
最新推荐文章于 2023-03-02 15:32:06 发布