我偶然发现了这个库,orocos bfl。它使用外部矩阵库,并在包装它们时使用多重继承;例如
class Matrix: public Matrix_Wrapper, public Boost::Matrix
{
//some implementation
}与组合相反
是否有很好的原因(性能等),或者仅仅是一段糟糕的代码?
发布于 2013-01-08 01:55:55
这里使用MI是有原因的。这样,Matrix类可以用在特定于orocos bfl的算法中,但也可以用在需要orocos bfl用于实现的库的矩阵的算法中。
orocos库可以使用不同的库为其提供基本的矩阵实现,因此orocos提供的算法不能绑定到一个特定的矩阵接口。
同时,orocos库的用户很可能需要额外的算法来操作他们在orocos库中使用的矩阵。
通过使用多重继承,可以将orocos库视为几个底层矩阵库之一的扩展。
https://stackoverflow.com/questions/14200152
复制相似问题