这个为什么不用模板?
从OpenSceneGraph看到的代码片段,相当凶残。这是两个4x4的矩阵类,区别在于单精度或者双精度浮点。
为什么不用template呢?
Matrixf.h:
class Matrixf {public: typedef float value_type; Matrixf(); virtual ~Matrixf(); value_type foo(); value_type bar(); value_type _data[16];};
class Matrixd {public: typedef double value_type; Matrixd(); virtual ~Matrixd(); value_type foo(); value_type bar(); value_type _data[16];};
value_type Matrix_implementation::foo() { // work with value_type}value_type Matrix_implementation::bar() { // work with value_type}
#include "Matrixf.h"#define Matrix_implementation Matrixf#include "Matrix_implementation.cpp"
#include "Matrixd.h"#define Matrix_implementation Matrixd#include "Matrix_implementation.cpp"