0

我遇到了这个图书馆,orocos bfl。它使用外部矩阵库,并在包装​​它们时使用多重继承;如

class Matrix: public Matrix_Wrapper, public Boost::Matrix
{
 //some implementation
}

与作曲相反

有充分的理由(性能等),还是只是一段糟糕的代码?

4

1 回答 1

0

这里使用 MI 是有原因的。这样,Matrix该类可以用于特定于 orocos bfl 的算法,但它也可以用于期望 orocos bfl 用于其实现的库的矩阵的算法。

orocos 库可以使用不同的库为其提供基本的矩阵实现,因此 orocos 提供的算法不能绑定到一个特定的矩阵接口。
同时,orocos 库的用户很可能需要额外的算法来操作他们与 orocos 库一起使用的矩阵。
通过使用多重继承,orocos 库可以被视为几个底层矩阵库之一的扩展。

于 2013-01-07T17:55:54.957 回答