模板代码重用
2023-01-12 23:15 作者:sxlxcsxlxc | 我要投稿
effective c++ 44 Factor parameter-independent code out of template
书里给了一个例子
是一个元素类型为T的方阵,有一个求逆的函数。这个类把方阵的大小也作为模板参数。
为什么要这样?虽然eigen也是这么写的https://eigen.tuxfamily.org/dox/group__TutorialMatrixClass.html
https://stackoverflow.com/questions/7395700/reason-for-using-non-type-template-parameter-instead-of-regular-parameter
这个方阵的问题在于,不同大小的方阵求逆的方法是一样的,然而现在我们对不同大小的方阵都生成了一份对应的invert函数的代码。
解决方法是把invert函数写在一个只和T有关的base class里面,然后让squareMatrix继承它