欢迎光临散文网 会员登陆 & 注册

模板代码重用

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继承它


模板代码重用的评论 (共 条)

分享到微博请遵守国家法律